@nftsafe/sdk
Version:
Lend and rent any ERC721s and ERC1155s on supported mainnet and testnet.
1 lines • 125 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("ethers"),n=(e=require("bignumber.js"))&&"object"==typeof e&&"default"in e?e.default:e;function a(){a=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,b="function"==typeof Symbol?Symbol:{},r=b.iterator||"@@iterator",d=b.asyncIterator||"@@asyncIterator",f=b.toStringTag||"@@toStringTag";function s(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,n){return e[t]=n}}function i(e,t,n,a){var b=Object.create((t&&t.prototype instanceof c?t:c).prototype),r=new I(a||[]);return b._invoke=function(e,t,n){var a="suspendedStart";return function(b,r){if("executing"===a)throw new Error("Generator is already running");if("completed"===a){if("throw"===b)throw r;return{value:void 0,done:!0}}for(n.method=b,n.arg=r;;){var d=n.delegate;if(d){var f=v(d,n);if(f){if(f===u)continue;return f}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===a)throw a="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a="executing";var s=o(e,t,n);if("normal"===s.type){if(a=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(a="completed",n.method="throw",n.arg=s.arg)}}}(e,n,r),b}function o(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=i;var u={};function c(){}function p(){}function l(){}var y={};s(y,r,(function(){return this}));var m=Object.getPrototypeOf,h=m&&m(m(R([])));h&&h!==t&&n.call(h,r)&&(y=h);var T=l.prototype=c.prototype=Object.create(y);function g(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){var a;this._invoke=function(b,r){function d(){return new t((function(a,d){!function a(b,r,d,f){var s=o(e[b],e,r);if("throw"!==s.type){var i=s.arg,u=i.value;return u&&"object"==typeof u&&n.call(u,"__await")?t.resolve(u.__await).then((function(e){a("next",e,d,f)}),(function(e){a("throw",e,d,f)})):t.resolve(u).then((function(e){i.value=e,d(i)}),(function(e){return a("throw",e,d,f)}))}f(s.arg)}(b,r,a,d)}))}return a=a?a.then(d,d):d()}}function v(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,v(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var a=o(n,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,u;var b=a.arg;return b?b.done?(t[e.resultName]=b.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):b:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function I(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function R(e){if(e){var t=e[r];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,b=function t(){for(;++a<e.length;)if(n.call(e,a))return t.value=e[a],t.done=!1,t;return t.value=void 0,t.done=!0,t};return b.next=b}}return{next:w}}function w(){return{value:void 0,done:!0}}return p.prototype=l,s(T,"constructor",l),s(l,"constructor",p),p.displayName=s(l,f,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,s(e,f,"GeneratorFunction")),e.prototype=Object.create(T),e},e.awrap=function(e){return{__await:e}},g(A.prototype),s(A.prototype,d,(function(){return this})),e.AsyncIterator=A,e.async=function(t,n,a,b,r){void 0===r&&(r=Promise);var d=new A(i(t,n,a,b),r);return e.isGeneratorFunction(n)?d:d.next().then((function(e){return e.done?e.value:d.next()}))},g(T),s(T,f,"Generator"),s(T,r,(function(){return this})),s(T,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var a=t.pop();if(a in e)return n.value=a,n.done=!1,n}return n.done=!0,n}},e.values=R,I.prototype={constructor:I,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function a(n,a){return d.type="throw",d.arg=e,t.next=n,a&&(t.method="next",t.arg=void 0),!!a}for(var b=this.tryEntries.length-1;b>=0;--b){var r=this.tryEntries[b],d=r.completion;if("root"===r.tryLoc)return a("end");if(r.tryLoc<=this.prev){var f=n.call(r,"catchLoc"),s=n.call(r,"finallyLoc");if(f&&s){if(this.prev<r.catchLoc)return a(r.catchLoc,!0);if(this.prev<r.finallyLoc)return a(r.finallyLoc)}else if(f){if(this.prev<r.catchLoc)return a(r.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return a(r.finallyLoc)}}}},abrupt:function(e,t){for(var a=this.tryEntries.length-1;a>=0;--a){var b=this.tryEntries[a];if(b.tryLoc<=this.prev&&n.call(b,"finallyLoc")&&this.prev<b.finallyLoc){var r=b;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=t&&t<=r.finallyLoc&&(r=null);var d=r?r.completion:{};return d.type=e,d.arg=t,r?(this.method="next",this.next=r.finallyLoc,u):this.complete(d)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),E(n),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var a=n.completion;if("throw"===a.type){var b=a.arg;E(n)}return b}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:R(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},e}function b(e,t,n,a,b,r,d){try{var f=e[r](d),s=f.value}catch(e){return void n(e)}f.done?t(s):Promise.resolve(s).then(a,b)}function r(e){return function(){var t=this,n=arguments;return new Promise((function(a,r){var d=e.apply(t,n);function f(e){b(d,a,r,f,s,"next",e)}function s(e){b(d,a,r,f,s,"throw",e)}f(void 0)}))}}var d,f,s=[{inputs:[{internalType:"address",name:"_paymentOptionProvider",type:"address"},{internalType:"address payable",name:"_treasury",type:"address"},{internalType:"address",name:"_admin",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"lendAmount",type:"uint256"},{internalType:"uint256",name:"availableAmount",type:"uint256"}],name:"ActiveRenting",type:"error"},{inputs:[],name:"ClaimIsNotAllowedYet",type:"error"},{inputs:[],name:"CollateralPriceIsZero",type:"error"},{inputs:[],name:"DistributeClaimError",type:"error"},{inputs:[{internalType:"uint8",name:"code",type:"uint8"}],name:"DistributePaymentError",type:"error"},{inputs:[],name:"ExceedMaxRentFee",type:"error"},{inputs:[],name:"LendingEmpty",type:"error"},{inputs:[],name:"LendingNotEmpty",type:"error"},{inputs:[],name:"NoDataPassed",type:"error"},{inputs:[],name:"NotAllowedToRent",type:"error"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"NotAnAdmin",type:"error"},{inputs:[{internalType:"uint8",name:"errorCode",type:"uint8"}],name:"NotLendable",type:"error"},{inputs:[{internalType:"uint8",name:"errorCode",type:"uint8"}],name:"NotRentable",type:"error"},{inputs:[],name:"Paused",type:"error"},{inputs:[{internalType:"uint256",name:"rentAmount",type:"uint256"},{internalType:"uint256",name:"availableAmount",type:"uint256"}],name:"RentAmountExceedsAvailableAmount",type:"error"},{inputs:[{internalType:"uint32",name:"rentDuration",type:"uint32"},{internalType:"uint32",name:"minRentDuration",type:"uint32"}],name:"RentDurationBelowMinRentDuration",type:"error"},{inputs:[{internalType:"uint32",name:"rentDuration",type:"uint32"},{internalType:"uint32",name:"maxRentDuration",type:"uint32"}],name:"RentDurationExceedsMaxRentDuration",type:"error"},{inputs:[],name:"RentPriceIsZero",type:"error"},{inputs:[],name:"RentingEmpty",type:"error"},{inputs:[],name:"RentingNotEmpty",type:"error"},{inputs:[],name:"ReturnIsPastDuration",type:"error"},{inputs:[],name:"ReturningNotAllowed",type:"error"},{inputs:[{internalType:"address",name:"lender",type:"address"},{internalType:"address",name:"msgSender",type:"address"}],name:"StopperNotLender",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"isERC721",type:"bool"},{indexed:!0,internalType:"address",name:"lenderAddress",type:"address"},{indexed:!0,internalType:"address",name:"nftAddress",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"lendingId",type:"uint256"},{indexed:!1,internalType:"uint32",name:"maxRentDuration",type:"uint32"},{indexed:!1,internalType:"uint32",name:"minRentDuration",type:"uint32"},{indexed:!1,internalType:"uint256",name:"dailyRentPrice",type:"uint256"},{indexed:!1,internalType:"uint256",name:"lendAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateral",type:"uint256"},{indexed:!1,internalType:"address[]",name:"allowedRenters",type:"address[]"},{indexed:!1,internalType:"uint8",name:"paymentOption",type:"uint8"}],name:"Lend",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"renterAddress",type:"address"},{indexed:!0,internalType:"uint256",name:"lendingId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"rentingId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"rentAmount",type:"uint256"},{indexed:!1,internalType:"uint32",name:"rentDuration",type:"uint32"},{indexed:!1,internalType:"uint32",name:"rentedAt",type:"uint32"}],name:"Rent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"rentingId",type:"uint256"},{indexed:!1,internalType:"uint32",name:"claimedAt",type:"uint32"},{indexed:!1,internalType:"bool",name:"isCollateralFree",type:"bool"}],name:"RentOrCollateralClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"lendingId",type:"uint256"},{indexed:!1,internalType:"uint32",name:"stoppedAt",type:"uint32"}],name:"StopLend",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"rentingId",type:"uint256"},{indexed:!1,internalType:"uint32",name:"stoppedAt",type:"uint32"}],name:"StopRent",type:"event"},{inputs:[{internalType:"enum NFTStandard[]",name:"_nftStandards",type:"uint8[]"},{internalType:"address[]",name:"_nfts",type:"address[]"},{internalType:"uint256[]",name:"_tokenIds",type:"uint256[]"},{internalType:"uint256[]",name:"_lendingIds",type:"uint256[]"},{internalType:"uint256[]",name:"_rentingIds",type:"uint256[]"}],name:"claimRentOrCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_nfts",type:"address"},{internalType:"uint256",name:"_tokenIds",type:"uint256"},{internalType:"uint256",name:"_lendingIds",type:"uint256"}],name:"getLendingInfo",outputs:[{internalType:"uint8",name:"",type:"uint8"},{internalType:"address",name:"",type:"address"},{internalType:"uint32",name:"",type:"uint32"},{internalType:"uint32",name:"",type:"uint32"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_nfts",type:"address"},{internalType:"uint256",name:"_tokenIds",type:"uint256"},{internalType:"uint256",name:"_rentingIds",type:"uint256"}],name:"getRentingInfo",outputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint32",name:"",type:"uint32"},{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"enum NFTStandard[]",name:"_nftStandards",type:"uint8[]"},{internalType:"address[]",name:"_nfts",type:"address[]"},{internalType:"uint256[]",name:"_tokenIds",type:"uint256[]"},{internalType:"uint256[]",name:"_lendAmounts",type:"uint256[]"},{internalType:"uint32[]",name:"_maxRentDurations",type:"uint32[]"},{internalType:"uint32[]",name:"_minRentDurations",type:"uint32[]"},{internalType:"uint256[]",name:"_dailyRentPrices",type:"uint256[]"},{internalType:"uint8[]",name:"_paymentOptions",type:"uint8[]"},{internalType:"uint256[]",name:"_collateralPrices",type:"uint256[]"},{components:[{internalType:"address[]",name:"allowedRenters",type:"address[]"}],internalType:"struct ITimeBasedNFTRentals.AllowedRenters[]",name:"_allowedRenters",type:"tuple[]"}],name:"lend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"enum NFTStandard[]",name:"_nftStandards",type:"uint8[]"},{internalType:"address[]",name:"_nfts",type:"address[]"},{internalType:"uint256[]",name:"_tokenIds",type:"uint256[]"},{internalType:"uint256[]",name:"_lendingIds",type:"uint256[]"},{internalType:"uint32[]",name:"_rentDurations",type:"uint32[]"},{internalType:"uint256[]",name:"_rentAmounts",type:"uint256[]"}],name:"rent",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"rentFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"_paused",type:"bool"}],name:"setPaused",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_rentFee",type:"uint256"}],name:"setRentFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"_treasury",type:"address"}],name:"setTreasury",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"enum NFTStandard[]",name:"_nftStandards",type:"uint8[]"},{internalType:"address[]",name:"_nfts",type:"address[]"},{internalType:"uint256[]",name:"_tokenIds",type:"uint256[]"},{internalType:"uint256[]",name:"_lendingIds",type:"uint256[]"}],name:"stopLending",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"enum NFTStandard[]",name:"_nftStandards",type:"uint8[]"},{internalType:"address[]",name:"_nfts",type:"address[]"},{internalType:"uint256[]",name:"_tokenIds",type:"uint256[]"},{internalType:"uint256[]",name:"_lendingIds",type:"uint256[]"},{internalType:"uint256[]",name:"_rentingIds",type:"uint256[]"}],name:"stopRenting",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],i=function(e,t){return e.length===t.length},o=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var a=t[0],b=0,r=t;b<r.length;b++){var d=r[b];if(d){if(!i(a,d))throw new Error("args length variable");a=d}}return!0},u=function(e){if(1===e.nftAddresses.length)return e;o(Object.values(e));var t=new Map,n={nftAddresses:[],tokenIds:[],nftStandards:[]},a=function(e){for(var t=new Array(e.length),n=0;n<e.length;++n)t[n]=n;return t.sort((function(t,n){return e[t].lt(e[n])?-1:e[t].gt(e[n])?1:0})),{sortedTokenID:b(t,e),argsort:t}},b=function(e,t){return e.map((function(e){return t[e]}))};Object.values(e.nftAddresses).forEach((function(n,a){t=t.has(n)?function(n,a){for(var b=t.get(n),r=0,d=Object.entries(e);r<d.length;r++){var f,s=d[r],i=s[0],o=s[1];if(!b)throw new Error("could not find "+n);o&&(b[i]=[].concat(null!=(f=b[i])?f:[],[o[a]]))}return t}(n,a):function(n,a){return t.set(n,{nftStandards:[e.nftStandards[a]],nftAddresses:[n],tokenIds:[e.tokenIds[a]],lendAmounts:e.lendAmounts?[e.lendAmounts[a]]:void 0,rentAmounts:e.rentAmounts?[e.rentAmounts[a]]:void 0,maxRentDurations:e.maxRentDurations?[e.maxRentDurations[a]]:void 0,minRentDurations:e.minRentDurations?[e.minRentDurations[a]]:void 0,dailyRentPrices:e.dailyRentPrices?[e.dailyRentPrices[a]]:void 0,collateralPrices:e.collateralPrices?[e.collateralPrices[a]]:void 0,paymentOptions:e.paymentOptions?[e.paymentOptions[a]]:void 0,rentDurations:e.rentDurations?[e.rentDurations[a]]:void 0,lendingIds:e.lendingIds?[e.lendingIds[a]]:void 0,rentingIds:e.rentingIds?[e.rentingIds[a]]:void 0,allowedRenters:e.allowedRenters?[e.allowedRenters[a]]:void 0}),t}(n,a)}));for(var r=t.keys();r;){var d=r.next().value;if(!d)break;for(var f=t.get(d),s=a(f.tokenIds).argsort,i=0,u=Object.keys(f);i<u.length;i++){var c,p,l=u[i];if(f[l]){var y=b(s,null!=(c=f[l])?c:[]);n[l]=[].concat(null!=(p=n[l])?p:[],y)}}}return n},c=function(e){if(1===e.nftAddresses.length)return e;o(Object.values(e));var t=new Map,n={nftAddresses:[],tokenIds:[],nftStandards:[]},a=function(e){for(var t=new Array(e.length),n=0;n<e.length;++n)t[n]=n;return t.sort((function(t,n){return e[t].lt(e[n])?-1:e[t].gt(e[n])?1:0})),{sortedTokenID:b(t,e),argsort:t}},b=function(e,t){return e.map((function(e){return t[e]}))};Object.values(e.nftAddresses).forEach((function(n,a){t=t.has(n)?function(n,a){for(var b=t.get(n),r=0,d=Object.entries(e);r<d.length;r++){var f,s=d[r],i=s[0],o=s[1];if(!b)throw new Error("could not find "+n);o&&(b[i]=[].concat(null!=(f=b[i])?f:[],[o[a]]))}return t}(n,a):function(n,a){return t.set(n,{nftStandards:e.nftStandards?[e.nftStandards[a]]:void 0,nftAddresses:[n],tokenIds:[e.tokenIds[a]],lendAmounts:e.lendAmounts?[e.lendAmounts[a]]:void 0,rentAmounts:e.rentAmounts?[e.rentAmounts[a]]:void 0,maxRentDurations:e.maxRentDurations?[e.maxRentDurations[a]]:void 0,paymentOptions:e.paymentOptions?[e.paymentOptions[a]]:void 0,rentDurations:e.rentDurations?[e.rentDurations[a]]:void 0,lendingIds:e.lendingIds?[e.lendingIds[a]]:void 0,rentingIds:e.rentingIds?[e.rentingIds[a]]:void 0}),t}(n,a)}));for(var r=t.keys();r;){var d=r.next().value;if(!d)break;for(var f=t.get(d),s=a(f.tokenIds).argsort,i=0,u=Object.keys(f);i<u.length;i++){var c,p,l=u[i];if(f[l]){var y=b(s,null!=(c=f[l])?c:[]);n[l]=[].concat(null!=(p=n[l])?p:[],y)}}}return n},p=function(e,n){return t.ethers.utils.hexZeroPad(t.ethers.utils.hexlify(e),n)},l=function(e,t){return void 0===t&&(t=18),new n(e).multipliedBy(new n(10).pow(Number(t)))};(f=exports.ContractType||(exports.ContractType={})).COLLATERALIZED="Collateralized",f.COLLATERAL_FREE="CollateralFree",f.REVENUE_SHARE="RevenueShare",f.REVENUE_SHARED_CONFIGURATOR="RevenueSharedConfigurator",f.E721="E721",f.E721_B="E721B",f.E1155="E1155",f.E1155_B="E1155B",f.WETH="WETH",f.DAI="DAI",f.USDC="USDC",f.USDT="USDT",f.T_USD="TUSD",f.UTILS="Utils";var y,m=Object.values(exports.ContractType).filter((function(e){return"string"==typeof e}));(y=exports.SupportedChainIds||(exports.SupportedChainIds={}))[y.ETHEREUM_MAINNET=1]="ETHEREUM_MAINNET",y[y.ETHEREUM_ROPSTEN=3]="ETHEREUM_ROPSTEN",y[y.ETHEREUM_RINKEBY=4]="ETHEREUM_RINKEBY",y[y.ETHEREUM_KOVAN=42]="ETHEREUM_KOVAN",y[y.BINANCE_MAINNET=56]="BINANCE_MAINNET",y[y.BINANCE_TESTNET=97]="BINANCE_TESTNET",y[y.POLYGON_MAINNET=137]="POLYGON_MAINNET",y[y.POLYGON_TESTNET=80001]="POLYGON_TESTNET";var h,T,g=Object.values(exports.SupportedChainIds).filter((function(e){return"number"==typeof e})),A=((d={})[exports.SupportedChainIds.ETHEREUM_MAINNET]={name:"Ethereum Mainnet",chainId:1,shortName:"eth",chain:"ETH",networkId:1,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpc:["https://mainnet.infura.io/v3/${INFURA_API_KEY}","wss://mainnet.infura.io/ws/v3/${INFURA_API_KEY}","https://api.mycryptoapi.com/eth","https://cloudflare-eth.com"],faucets:[],explorers:{name:"etherscan",url:"https://etherscan.io",standard:"EIP3091"},infoURL:"https://ethereum.org",logoURL:"/assets/images/chain-logos/ethereum-logo.png",collateralizedContractAddresses:[],collateralFreeContractAddresses:[],revenueSharedNFTRentalsContractAddresses:[],revenueSharedConfiguratorContractAddresses:[],e721ContractAddresses:[],e721BContractAddresses:[],e1155ContractAddresses:[],e1155BContractAddresses:[],wETHContractAddresses:[],daiContractAddresses:[],usdcContractAddresses:[],usdtContractAddresses:[],tUSDContractAddresses:[],utilsContractAddresses:[],subgraphs:{collateralized:"",collateralFree:"",revenueSharedNFTRentals:"",e721:"",e1155:""},moralisDetails:{isSupported:!0,lookupValue:"eth"},chainApiId:"binancecoin",isSupported:!1,isTestnet:!1},d[exports.SupportedChainIds.ETHEREUM_ROPSTEN]={name:"Ethereum Testnet Ropsten",chainId:3,shortName:"rop",chain:"ETH-Testnet",networkId:3,nativeCurrency:{name:"Ropsten Ether",symbol:"ROP",decimals:18},rpc:["https://ropsten.infura.io/v3/${INFURA_API_KEY}","wss://ropsten.infura.io/ws/v3/${INFURA_API_KEY}"],faucets:["https://faucet.ropsten.be?${ADDRESS}"],explorers:{name:"etherscan-ropsten",url:"https://ropsten.etherscan.io/",standard:"EIP3091"},infoURL:"https://github.com/ethereum/ropsten",logoURL:"/assets/images/chain-logos/ethereum-logo.png",collateralizedContractAddresses:[],collateralFreeContractAddresses:[],revenueSharedNFTRentalsContractAddresses:[],revenueSharedConfiguratorContractAddresses:[],e721ContractAddresses:[],e721BContractAddresses:[],e1155ContractAddresses:[],e1155BContractAddresses:[],wETHContractAddresses:[],daiContractAddresses:[],usdcContractAddresses:[],usdtContractAddresses:[],tUSDContractAddresses:[],utilsContractAddresses:[],subgraphs:{collateralized:"",collateralFree:"",revenueSharedNFTRentals:"",e721:"",e1155:""},moralisDetails:{isSupported:!1,lookupValue:""},chainApiId:"binancecoin",isSupported:!1,isTestnet:!0},d[exports.SupportedChainIds.ETHEREUM_RINKEBY]={name:"Ethereum Testnet Rinkeby",chainId:4,shortName:"rin",chain:"ETH-Testnet",networkId:4,nativeCurrency:{name:"Rinkeby Ether",symbol:"RIN",decimals:18},rpc:["https://rinkeby.infura.io/v3/${INFURA_API_KEY}","wss://rinkeby.infura.io/ws/v3/${INFURA_API_KEY}"],faucets:["https://faucet.rinkeby.io"],explorers:{name:"etherscan-rinkeby",url:"https://rinkeby.etherscan.io",standard:"EIP3091"},infoURL:"https://www.rinkeby.io",logoURL:"/assets/images/chain-logos/ethereum-logo.png",collateralizedContractAddresses:[],collateralFreeContractAddresses:[],revenueSharedNFTRentalsContractAddresses:[],revenueSharedConfiguratorContractAddresses:[],e721ContractAddresses:[],e721BContractAddresses:[],e1155ContractAddresses:[],e1155BContractAddresses:[],wETHContractAddresses:[],daiContractAddresses:[],usdcContractAddresses:[],usdtContractAddresses:[],tUSDContractAddresses:[],utilsContractAddresses:[],subgraphs:{collateralized:"",collateralFree:"",revenueSharedNFTRentals:"",e721:"",e1155:""},moralisDetails:{isSupported:!1,lookupValue:""},chainApiId:"binancecoin",isSupported:!1,isTestnet:!0},d[exports.SupportedChainIds.ETHEREUM_KOVAN]={name:"Kovan Testnet",chainId:42,shortName:"KOV",chain:"kovan",networkId:42,nativeCurrency:{name:"Kovan",symbol:"KOV",decimals:18},rpc:["https://kovan.poa.network","http://kovan.poa.network:8545","https://kovan.infura.io/v3/${INFURA_API_KEY}","wss://kovan.infura.io/ws/v3/${INFURA_API_KEY}","ws://kovan.poa.network:8546"],faucets:["https://faucet.kovan.network","https://gitter.im/kovan-testnet/faucet"],explorers:{name:"etherscan-kovan",url:"https://kovan.etherscan.io/",standard:"EIP3091"},infoURL:"https://kovan-testnet.github.io/website",logoURL:"/assets/images/chain-logos/kovan-logo-svg.svg",collateralizedContractAddresses:["0xc4E1142e0dcF1CBdDcD101Bd6C82DB5bDc946C6e"],collateralFreeContractAddresses:["0x0948a02CCf44949C3853Cb087698C91C9E37Dddd"],revenueSharedNFTRentalsContractAddresses:[],revenueSharedConfiguratorContractAddresses:["0x3A92F1c74D4F10b9eb3E12C890E55663F510F8a5"],e721ContractAddresses:["0xD3b55Bf4A849992AA52f2293CDDb493A18b980Dd"],e721BContractAddresses:["0x4EF6d4f83341AAF584DB7599ba7BCB0f29CdC51A"],e1155ContractAddresses:["0xBFBA01C44c6f36EB7f8b6e805c969d1F438fF650"],e1155BContractAddresses:["0xE9397bDf06a56303e0159f1D618Efde7E90dA3A3"],wETHContractAddresses:["0xe74ffdF419f30aD24dDe778d7317Ba7d3BB18f4a"],daiContractAddresses:["0x45793Ad70378a863922706f465eCbC26f4c195f9"],usdcContractAddresses:["0x3ebBC74E7579F800fE8C3d058377b95c06f7f0e1"],usdtContractAddresses:["0xAA92036d1D11f4120E9345E990072e868B48Be7e"],tUSDContractAddresses:["0xeFEfAC77461FF56Ff26F3Db522e42AbEA7aE38b5"],utilsContractAddresses:["0xAe79A95cCeFDEb13584e7595d4FCC8D3cAac352a"],subgraphs:{collateralized:"https://kovan.infy.network/subgraphs/name/infy-collateralized/subgraph",collateralFree:"https://kovan.infy.network/subgraphs/name/infy-collateral-free/subgraph",revenueSharedNFTRentals:"",e721:"https://kovan.infy.network/subgraphs/name/wighawag/eip721-subgraph",e1155:"https://kovan.infy.network/subgraphs/name/amxx/eip1155-subgraph"},moralisDetails:{isSupported:!1,lookupValue:""},chainApiId:"kovan-testnet",isSupported:!1,isTestnet:!0},d[exports.SupportedChainIds.BINANCE_MAINNET]={name:"BSC Smart Chain Mainnet",chainId:56,shortName:"bnb",chain:"BSC",networkId:56,nativeCurrency:{name:"Binance Chain Native Token",symbol:"BNB",decimals:18},rpc:["https://bsc-dataseed1.binance.org","https://bsc-dataseed2.binance.org","https://bsc-dataseed3.binance.org","https://bsc-dataseed4.binance.org","https://bsc-dataseed1.defibit.io","https://bsc-dataseed2.defibit.io","https://bsc-dataseed3.defibit.io","https://bsc-dataseed4.defibit.io","https://bsc-dataseed1.ninicoin.io","https://bsc-dataseed2.ninicoin.io","https://bsc-dataseed3.ninicoin.io","https://bsc-dataseed4.ninicoin.io","wss://bsc-ws-node.nariox.org"],faucets:[],explorers:{name:"bscscan",url:"https://bscscan.com",standard:"EIP3091"},infoURL:"https://www.binance.org",logoURL:"/assets/images/chain-logos/binance-logo.png",collateralizedContractAddresses:[],collateralFreeContractAddresses:[],revenueSharedNFTRentalsContractAddresses:[],revenueSharedConfiguratorContractAddresses:[],e721ContractAddresses:[],e721BContractAddresses:[],e1155ContractAddresses:[],e1155BContractAddresses:[],wETHContractAddresses:[],daiContractAddresses:[],usdcContractAddresses:[],usdtContractAddresses:[],tUSDContractAddresses:[],utilsContractAddresses:[],subgraphs:{collateralized:"",collateralFree:"",revenueSharedNFTRentals:"",e721:"",e1155:""},moralisDetails:{isSupported:!0,lookupValue:"bsc"},chainApiId:"binancecoin",isSupported:!1,isTestnet:!1},d[exports.SupportedChainIds.BINANCE_TESTNET]={name:"BSC Smart Chain Testnet",chainId:97,shortName:"bnbt",chain:"BSC-Testnet",networkId:97,nativeCurrency:{name:"Binance Chain Native Token",symbol:"BNB",decimals:18},rpc:["https://data-seed-prebsc-2-s1.binance.org:8545","https://data-seed-prebsc-1-s1.binance.org:8545","https://data-seed-prebsc-1-s2.binance.org:8545","https://data-seed-prebsc-2-s2.binance.org:8545","https://data-seed-prebsc-1-s3.binance.org:8545","https://data-seed-prebsc-2-s3.binance.org:8545"],faucets:["https://testnet.binance.org/faucet-smart"],explorers:{name:"bscscan-testnet",url:"https://testnet.bscscan.com",standard:"EIP3091"},infoURL:"https://testnet.binance.org/",logoURL:"/assets/images/chain-logos/binance-logo.png",collateralizedContractAddresses:[],collateralFreeContractAddresses:[],revenueSharedNFTRentalsContractAddresses:[],revenueSharedConfiguratorContractAddresses:[],e721ContractAddresses:[],e721BContractAddresses:[],e1155ContractAddresses:[],e1155BContractAddresses:[],wETHContractAddresses:[],daiContractAddresses:[],usdcContractAddresses:[],usdtContractAddresses:[],tUSDContractAddresses:[],utilsContractAddresses:[],subgraphs:{collateralized:"",collateralFree:"",revenueSharedNFTRentals:"",e721:"",e1155:""},moralisDetails:{isSupported:!0,lookupValue:"bsc testnet"},chainApiId:"binancecoin",isSupported:!1,isTestnet:!0},d[exports.SupportedChainIds.POLYGON_MAINNET]={name:"Polygon",chainId:137,shortName:"Polygon",chain:"Polygon",networkId:137,nativeCurrency:{name:"Matic",symbol:"MATIC",decimals:18},rpc:["https://rpc-mainnet.matic.network","wss://ws-mainnet.matic.network"],faucets:[],explorers:{name:"polygonscan",url:"https://polygonscan.com",standard:"EIP3091"},infoURL:"https://matic.network/",logoURL:"/assets/images/chain-logos/matic-logo-svg.svg",collateralizedContractAddresses:["0xCf311a6606c909Cc5E048FE1f3FF1e63dEec6a26"],collateralFreeContractAddresses:["0x4fF4C17F24d03Faf9d5097D7E71310AeF71a0f70"],revenueSharedNFTRentalsContractAddresses:["0x9C5dA47ED0281aF302ED1E77a1B961ed980d5385"],revenueSharedConfiguratorContractAddresses:["0x4a1BDD3a5BBAb4312432b1b507d67Bce6baC8B22"],e721ContractAddresses:[],e721BContractAddresses:[],e1155ContractAddresses:[],e1155BContractAddresses:[],wETHContractAddresses:["0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619"],daiContractAddresses:["0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063"],usdcContractAddresses:["0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"],usdtContractAddresses:["0xc2132D05D31c914a87C6611C10748AEb04B58e8F"],tUSDContractAddresses:["0x2e1AD108fF1D8C782fcBbB89AAd783aC49586756"],utilsContractAddresses:[],subgraphs:{collateralized:"https://api.thegraph.com/subgraphs/name/dudhatparesh/infy-collateralized-polygon",collateralFree:"https://api.thegraph.com/subgraphs/name/dudhatparesh/infy-collateral-free-polygon",revenueSharedNFTRentals:"https://api.thegraph.com/subgraphs/name/dudhatparesh/infy-revenue-share-polygon",e721:"",e1155:""},moralisDetails:{isSupported:!0,lookupValue:"polygon"},chainApiId:"matic-network",isSupported:!0,isTestnet:!1},d[exports.SupportedChainIds.POLYGON_TESTNET]={name:"Mumbai-Testnet",chainId:80001,shortName:"Mumbai",chain:"Mumbai-TestNet",networkId:80001,nativeCurrency:{name:"Matic",symbol:"MATIC",decimals:18},rpc:["https://rpc-mumbai.matic.today","wss://ws-mumbai.matic.today"],faucets:["https://faucet.matic.network/"],explorers:{name:"mumbai-polygonscan",url:"https://mumbai.polygonscan.com/",standard:"EIP3091"},infoURL:"https://matic.network/",logoURL:"/assets/images/chain-logos/matic-logo-svg.svg",collateralizedContractAddresses:["0xDA0b94C237b435cbeA5Dd5aD44cc6F235aaE5855"],collateralFreeContractAddresses:["0x8f5138FDe08Be9061612086f4bCA472a563544c4"],revenueSharedNFTRentalsContractAddresses:["0x9352a6007F186c11FBC1daBc9fFFFA62Ea9eb9f3"],revenueSharedConfiguratorContractAddresses:["0x418258c4412bC13b3C877374BCE70890d456Cc1e"],e721ContractAddresses:["0x1506aF09A9a0D9179008d5F3E778ba46B76B54bc"],e721BContractAddresses:["0xAe79A95cCeFDEb13584e7595d4FCC8D3cAac352a"],e1155ContractAddresses:["0xd742C9Dd714c6FD0dB880Ed278e7Dc3e472fABb5"],e1155BContractAddresses:["0x3A92F1c74D4F10b9eb3E12C890E55663F510F8a5"],wETHContractAddresses:["0xAA92036d1D11f4120E9345E990072e868B48Be7e"],daiContractAddresses:["0xeFEfAC77461FF56Ff26F3Db522e42AbEA7aE38b5"],usdcContractAddresses:["0xD3b55Bf4A849992AA52f2293CDDb493A18b980Dd"],usdtContractAddresses:["0x4EF6d4f83341AAF584DB7599ba7BCB0f29CdC51A"],tUSDContractAddresses:["0x4bC7EA42aE5E5D4F8Dab60646B247978EEF09888"],utilsContractAddresses:["0xb6A0B7e204E86823eB78689e50a6Ed10931583B5"],subgraphs:{collateralized:"https://api.thegraph.com/subgraphs/name/dudhatparesh/infy-collateralized-mumbai",collateralFree:"https://api.thegraph.com/subgraphs/name/dudhatparesh/infy-collateral-free-mumbai",revenueSharedNFTRentals:"https://api.thegraph.com/subgraphs/name/dudhatparesh/infy-revenue-share-mumbai",e721:"",e1155:""},moralisDetails:{isSupported:!0,lookupValue:"mumbai"},chainApiId:"matic-network",isSupported:!0,isTestnet:!0},d),v=function(){function e(e,n,a){var b;if(this.signer=e,void 0===A[n]||void 0===A[n].collateralizedContractAddresses||A[n].collateralizedContractAddresses.length<=0||void 0===A[n].collateralFreeContractAddresses||A[n].collateralFreeContractAddresses.length<=0)throw new Error("Requested for unsupported chain");b=a===exports.ContractType.COLLATERALIZED?A[n].collateralizedContractAddresses[0]:A[n].collateralFreeContractAddresses[0],this.contract=new t.Contract(b,s,this.signer)}var n=e.prototype;return n.lend=function(){var e=r(a().mark((function e(n,b,r,d,f,s,i,o,c,p){var y;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return y=u({nftStandards:n.map((function(e){return Number(e)})),nftAddresses:b.map((function(e){return String(e).toLowerCase()})),tokenIds:r.map((function(e){return t.BigNumber.from(e)})),lendAmounts:d.map((function(e){return t.BigNumber.from(e)})),maxRentDurations:f.map((function(e){return Number(e)})),minRentDurations:s.map((function(e){return Number(e)})),dailyRentPrices:i.map((function(e){return l(Number(e)).toString()})),paymentOptions:o,collateralPrices:c.map((function(e){return l(Number(e)).toString()})),allowedRenters:p}),e.next=3,this.contract.lend(y.nftStandards,y.nftAddresses,y.tokenIds,y.lendAmounts,y.maxRentDurations,y.minRentDurations,y.dailyRentPrices,y.paymentOptions,y.collateralPrices,y.allowedRenters);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t,n,a,b,r,d,f,s,i,o){return e.apply(this,arguments)}}(),n.rent=function(){var e=r(a().mark((function e(n,b,r,d,f,s){var i;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=u({nftStandards:n.map((function(e){return Number(e)})),nftAddresses:b.map((function(e){return String(e).toLowerCase()})),tokenIds:r.map((function(e){return t.BigNumber.from(e)})),lendingIds:d.map((function(e){return t.BigNumber.from(e)})),rentDurations:f.map((function(e){return Number(e)})),rentAmounts:s.map((function(e){return t.BigNumber.from(e)}))}),e.next=3,this.contract.rent(i.nftStandards,i.nftAddresses,i.tokenIds,i.lendingIds,i.rentDurations,i.rentAmounts);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t,n,a,b,r,d){return e.apply(this,arguments)}}(),n.stopRenting=function(){var e=r(a().mark((function e(n,b,r,d,f){var s;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=u({nftStandards:n.map((function(e){return Number(e)})),nftAddresses:b.map((function(e){return String(e).toLowerCase()})),tokenIds:r.map((function(e){return t.BigNumber.from(e)})),lendingIds:d.map((function(e){return t.BigNumber.from(e)})),rentingIds:f.map((function(e){return t.BigNumber.from(e)}))}),e.next=3,this.contract.stopRenting(s.nftStandards,s.nftAddresses,s.tokenIds,s.lendingIds,s.rentingIds);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t,n,a,b,r){return e.apply(this,arguments)}}(),n.stopLending=function(){var e=r(a().mark((function e(n,b,r,d){var f;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return f=u({nftStandards:n.map((function(e){return Number(e)})),nftAddresses:b.map((function(e){return String(e).toLowerCase()})),tokenIds:r.map((function(e){return t.BigNumber.from(e)})),lendingIds:d.map((function(e){return t.BigNumber.from(e)}))}),e.next=3,this.contract.stopLending(f.nftStandards,f.nftAddresses,f.tokenIds,f.lendingIds);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t,n,a,b){return e.apply(this,arguments)}}(),n.claimRentOrCollateral=function(){var e=r(a().mark((function e(n,b,r,d,f){var s;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=u({nftStandards:n.map((function(e){return Number(e)})),nftAddresses:b.map((function(e){return String(e).toLowerCase()})),tokenIds:r.map((function(e){return t.BigNumber.from(e)})),lendingIds:d.map((function(e){return t.BigNumber.from(e)})),rentingIds:f.map((function(e){return t.BigNumber.from(e)}))}),e.next=3,this.contract.claimRentOrCollateral(s.nftStandards,s.nftAddresses,s.tokenIds,s.lendingIds,s.rentingIds);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t,n,a,b,r){return e.apply(this,arguments)}}(),e}(),C=[{inputs:[{internalType:"address",name:"_admin",type:"address"},{internalType:"address",name:"_revenueSharedConfigurator",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"lendAmount",type:"uint256"},{internalType:"uint256",name:"availableAmount",type:"uint256"}],name:"ActiveRenting",type:"error"},{inputs:[],name:"InvalidPortionsSum",type:"error"},{inputs:[],name:"InvalidProtocolFeeReceivers",type:"error"},{inputs:[],name:"LendingEmpty",type:"error"},{inputs:[],name:"LendingIsStopped",type:"error"},{inputs:[],name:"LendingNotEmpty",type:"error"},{inputs:[],name:"NotAllowedToRent",type:"error"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"NotAnAdmin",type:"error"},{inputs:[{internalType:"uint8",name:"errorCode",type:"uint8"}],name:"NotLendable",type:"error"},{inputs:[{internalType:"uint8",name:"errorCode",type:"uint8"}],name:"NotRentable",type:"error"},{inputs:[],name:"Paused",type:"error"},{inputs:[{internalType:"uint256",name:"rentAmount",type:"uint256"},{internalType:"uint256",name:"availableAmount",type:"uint256"}],name:"RentAmountExceedsAvailableAmount",type:"error"},{inputs:[{internalType:"uint32",name:"rentDuration",type:"uint32"},{internalType:"uint32",name:"maxRentDuration",type:"uint32"}],name:"RentDurationExceedsMaxRentDuration",type:"error"},{inputs:[],name:"RentingEmpty",type:"error"},{inputs:[],name:"RentingNotEmpty",type:"error"},{inputs:[],name:"ReturningNotAllowed",type:"error"},{inputs:[{internalType:"address",name:"lender",type:"address"},{internalType:"address",name:"msgSender",type:"address"}],name:"StopperNotLender",type:"error"},{inputs:[{internalType:"address",name:"_address",type:"address"},{internalType:"uint8",name:"_errorCode",type:"uint8"}],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"isERC721",type:"bool"},{indexed:!0,internalType:"address",name:"lenderAddress",type:"address"},{indexed:!0,internalType:"address",name:"nftAddress",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"lendingId",type:"uint256"},{indexed:!1,internalType:"uint32",name:"maxRentDuration",type:"uint32"},{indexed:!1,internalType:"uint256",name:"upfrontRentFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"lendAmount",type:"uint256"},{components:[{internalType:"address[]",name:"revenueShareAddresses",type:"address[]"},{internalType:"uint8[]",name:"revenueSharePortions",type:"uint8[]"}],indexed:!1,internalType:"struct IRevenueSharedNFTRentals.RevenueShareInfo",name:"revenueShareInfos",type:"tuple"},{indexed:!1,internalType:"address[]",name:"allowedRenters",type:"address[]"},{indexed:!1,internalType:"uint8",name:"paymentOption",type:"uint8"}],name:"Lend",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"renterAddress",type:"address"},{indexed:!0,internalType:"uint256",name:"lendingId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"rentingId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"rentAmount",type:"uint256"},{indexed:!1,internalType:"uint32",name:"rentDuration",type:"uint32"},{indexed:!1,internalType:"uint32",name:"rentedAt",type:"uint32"}],name:"Rent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"lendingId",type:"uint256"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!0,internalType:"address",name:"paymentToken",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"ShareRevenue",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"lendingId",type:"uint256"},{indexed:!1,internalType:"uint32",name:"stoppedAt",type:"uint32"}],name:"StopLend",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"rentingId",type:"uint256"},{indexed:!1,internalType:"uint32",name:"stoppedAt",type:"uint32"}],name:"StopRent",type:"event"},{inputs:[],name:"admin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"deployer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"feePortions",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"feeReceivers",outputs:[{internalType:"address payable",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_nfts",type:"address"},{internalType:"uint256",name:"_tokenIds",type:"uint256"},{internalType:"uint256",name:"_lendingIds",type:"uint256"}],name:"getLendingInfo",outputs:[{components:[{internalType:"enum NFTStandard",name:"nftStandard",type:"uint8"},{internalType:"address payable",name:"lender",type:"address"},{internalType:"uint32",name:"maxRentDuration",type:"uint32"},{internalType:"uint256",name:"upfrontFee",type:"uint256"},{internalType:"uint256",name:"lendAmount",type:"uint256"},{internalType:"uint256",name:"availableAmount",type:"uint256"},{components:[{internalType:"address[]",name:"revenueShareAddresses",type:"address[]"},{internalType:"uint8[]",name:"revenueSharePortions",type:"uint8[]"}],internalType:"struct IRevenueSharedNFTRentals.RevenueShareInfo",name:"revenueShareInfos",type:"tuple"},{internalType:"address[]",name:"allowedRenters",type:"address[]"},{internalType:"uint8",name:"paymentOption",type:"uint8"},{internalType:"bool",name:"stopped",type:"bool"}],internalType:"struct IRevenueSharedNFTRentals.LendingInfo",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_nfts",type:"address"},{internalType:"uint256",name:"_tokenIds",type:"uint256"},{internalType:"uint256",name:"_rentingIds",type:"uint256"}],name:"getRentingInfo",outputs:[{components:[{internalType:"address payable",name:"renter",type:"address"},{internalType:"uint32",name:"rentDuration",type:"uint32"},{internalType:"uint32",name:"rentedAt",type:"uint32"},{internalType:"uint256",name:"rentAmount",type:"uint256"}],internalType:"struct IRevenueSharedNFTRentals.RentingInfo",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"enum NFTStandard",name:"nftStandard",type:"uint8"},{internalType:"address",name:"nft",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"lendAmount",type:"uint256"},{internalType:"uint256",name:"upfrontFee",type:"uint256"},{internalType:"uint32",name:"maxRentDuration",type:"uint32"},{components:[{internalType:"address[]",name:"revenueShareAddresses",type:"address[]"},{internalType:"uint8[]",name:"revenueSharePortions",type:"uint8[]"}],internalType:"struct IRevenueSharedNFTRentals.RevenueShareInfo",name:"revenueShareInfo",type:"tuple"},{components:[{internalType:"address[]",name:"allowedRenters",type:"address[]"}],internalType:"struct IRevenueSharedNFTRentals.AllowedRenters",name:"allowedRenters",type:"tuple"},{internalType:"uint8",name:"paymentOption",type:"uint8"}],internalType:"struct IRevenueSharedNFTRentals.LendingRequest[]",name:"lendingRequests",type:"tuple[]"}],name:"lend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"lendingId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"_nfts",type:"address[]"},{internalType:"uint256[]",name:"_tokenIds",type:"uint256[]"},{internalType:"uint256[]",name:"_lendingIds",type:"uint256[]"},{internalType:"uint32[]",name:"_rentDurations",type:"uint32[]"},{internalType:"uint256[]",name:"_rentAmounts",type:"uint256[]"}],name:"rent",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"rentingId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"revenueSharedConfigurator",outputs:[{internalType:"contract IConfigurator",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"revokeOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newAdmin",type:"address"}],name:"setAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_paused",type:"bool"}],name:"setPaused",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable[]",name:"newFeeReceivers",type:"address[]"},{internalType:"uint8[]",name:"newFeePortions",type:"uint8[]"}],name:"setProtocolFeeReceivers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"newRentStoppers",type:"address[]"}],name:"setRentStoppers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newRevenueSharedConfigurator",type:"address"}],name:"setRevenueSharedConfigurator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"newRewardPayers",type:"address[]"}],name:"setRewardPayers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_nfts",type:"address[]"},{internalType:"uint256[]",name:"_tokenIds",type:"uint256[]"},{internalType:"uint256[]",name:"_lendingIds",type:"uint256[]"},{internalType:"uint256[]",name:"_revenueAmounts",type:"uint256[]"},{internalType:"address[]",name:"_renters",type:"address[]"},{internalType:"address[]",name:"_revenueTokenAddress",type:"address[]"}],name:"shareRevenue",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"enum NFTStandard[]",name:"_nftStandards",type:"uint8[]"},{internalType:"address[]",name:"_nfts",type:"address[]"},{internalType:"uint256[]",name:"_tokenIds",type:"uint256[]"},{internalType:"uint256[]",name:"_lendingIds",type:"uint256[]"}],name:"stopLending",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_nfts",type:"address[]"},{internalType:"uint256[]",name:"_tokenIds",type:"uint256[]"},{internalType:"uint256[]",name:"_lendingIds",type:"uint256[]"},{internalType:"uint256[]",name:"_rentingIds",type:"uint256[]"}],name:"stopRenting",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],E=function(){function e(e,n){if(this.signer=e,void 0===A[n]||void 0===A[n].revenueSharedNFTRentalsContractAddresses||A[n].revenueSharedNFTRentalsContractAddresses.length<=0)throw new Error("Requested for unsupported chain");this.contract=new t.Contract(A[n].revenueSharedNFTRentalsContractAddresses[0],C,this.signer)}var n=e.prototype;return n.lend=function(){var e=r(a().mark((function e(n){var b;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b=n.map((function(e){return[Number(e[0]),e[1],t.BigNumber.from(e[2]),t.BigNumber.from(e[3]),l(e[4].toString()).toString(),e[5],e[6],e[7],e[8]]})),e.next=3,this.contract.lend(b);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),n.rent=function(){var e=r(a().mark((function e(n,b,r,d,f){var s;return a().wrap((function(e){for(;;)switch(e.prev=e.next){