1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[305],{68026:function(t,e,r){r.d(e,{C:function(){return i}});var a=r(46693),n=r(54087);class i{featureName=n.d7.name;constructor(t){this.contractWrapper=t}async getRecipient(){return await this.contractWrapper.read("primarySaleRecipient",[])}setRecipient=(0,a.f)(async t=>a.T.fromContractWrapper({contractWrapper:this.contractWrapper,method:"setPrimarySaleRecipient",args:[t]}))}},20305:function(t,e,r){r.r(e),r.d(e,{SmartContract:function(){return V}});var a,n=r(41852),i=r(86242),s=r(54087),o=r(46693),c=r(22594),p=r(88849),d=r(89005),m=r(28257),h=r(99554),l=r(54543),g=r(59811),u=r(96761),f=r(59772),A=r(25516),W=r(4628);let y=((a={})[a.None=0]="None",a[a.AddAdmin=1]="AddAdmin",a[a.RemoveAdmin=2]="RemoveAdmin",a),w={startDate:c.O$.from(0),expirationDate:c.O$.from(0),approvedCallTargets:[],nativeTokenLimitPerTransaction:"0"},v=f.z.object({startDate:n.S,expirationDate:n.E,nativeTokenLimitPerTransaction:s.cw.default(0),approvedCallTargets:f.z.union([f.z.array(s.b9),f.z.literal("*")])}),T=f.z.array(f.z.object({signer:s.b9,makeAdmin:f.z.boolean(),permissions:v})),P=[{name:"signer",type:"address"},{name:"approvedTargets",type:"address[]"},{name:"nativeTokenLimitPerTransaction",type:"uint256"},{name:"permissionStartTimestamp",type:"uint128"},{name:"permissionEndTimestamp",type:"uint128"},{name:"reqValidityStartTimestamp",type:"uint128"},{name:"reqValidityEndTimestamp",type:"uint128"},{name:"uid",type:"bytes32"}],S=[{name:"signer",type:"address"},{name:"isAdmin",type:"uint8"},{name:"approvedTargets",type:"address[]"},{name:"nativeTokenLimitPerTransaction",type:"uint256"},{name:"permissionStartTimestamp",type:"uint128"},{name:"permissionEndTimestamp",type:"uint128"},{name:"reqValidityStartTimestamp",type:"uint128"},{name:"reqValidityEndTimestamp",type:"uint128"},{name:"uid",type:"bytes32"}];class x{featureName=s.dm.name;constructor(t){this.contractWrapper=t}getAddress(){return this.contractWrapper.address}hasDuplicateSigners(t){let e={};for(let r of t.map(t=>t.signer)){if(e[r])return!0;e[r]=!0}return!1}parseSignerPermissionsStruct(t){return{startDate:new Date(1e3*parseInt(t.startTimestamp.toString())),expirationDate:new Date(1e3*parseInt(t.endTimestamp.toString())),nativeTokenLimitPerTransaction:c.O$.from(t.nativeTokenLimitPerTransaction),approvedCallTargets:t.approvedTargets}}async sendSignerPermissionRequest(t,e,r){let{payload:a,signature:n}=await this.generatePayload(t,e,r);return o.T.fromContractWrapper({contractWrapper:this.contractWrapper,method:"setPermissionsForSigner",args:[a,n]})}async generatePayload(t,e,r){let a={signer:t,isAdmin:r.valueOf(),approvedTargets:"*"===e.approvedCallTargets?[s.cu]:e.approvedCallTargets,nativeTokenLimitPerTransaction:p.parseEther(e.nativeTokenLimitPerTransaction),permissionStartTimestamp:e.startDate,permissionEndTimestamp:e.expirationDate,reqValidityStartTimestamp:0,reqValidityEndTimestamp:c.O$.from(Math.floor(new Date(Date.now()+31536e7).getTime()/1e3)),uid:(0,u.L)(void 0)},n=await this.contractWrapper.getChainID(),i=this.contractWrapper.getSigner();(0,g.Z)(i,"No signer available");let o=await this.contractWrapper.signTypedData(i,{name:"Account",version:"1",chainId:n,verifyingContract:this.getAddress()},{SignerPermissionRequest:S},a);return{payload:a,signature:o}}async generateLegacyPayload(t,e){if("*"===e.approvedCallTargets)throw Error("Wildcard call targets are not supported on legacy account permissions contract, please deploy an updated contract factory.");let r={signer:t,approvedTargets:e.approvedCallTargets,nativeTokenLimitPerTransaction:p.parseEther(e.nativeTokenLimitPerTransaction),permissionStartTimestamp:e.startDate,permissionEndTimestamp:e.expirationDate,reqValidityStartTimestamp:0,reqValidityEndTimestamp:c.O$.from(Math.floor(new Date(Date.now()+31536e7).getTime()/1e3)),uid:(0,u.L)(void 0)},a=await this.contractWrapper.getChainID(),n=this.contractWrapper.getSigner();(0,g.Z)(n,"No signer available");let i=await this.contractWrapper.signTypedData(n,{name:"Account",version:"1",chainId:a,verifyingContract:this.getAddress()},{SignerPermissionRequest:P},r);return{payload:r,signature:i}}async isAdmin(t){let e=await (0,s.aL)(t);return await this.contractWrapper.read("isAdmin",[e])}async isSigner(t){let e=await (0,s.aL)(t);return await this.contractWrapper.read("isActiveSigner",[e])}async getAllAdmins(){return await this.contractWrapper.read("getAllAdmins",[])}async getAllSigners(){let t=await this.contractWrapper.read("getAllActiveSigners",[]);return await Promise.all(t.map(async t=>({signer:t.signer,permissions:this.parseSignerPermissionsStruct(t)})))}async getAllAdminsAndSigners(){return[...(await this.getAllAdmins()).map(t=>({isAdmin:!0,signer:t,permissions:{startDate:new Date(0),expirationDate:new Date(0),nativeTokenLimitPerTransaction:c.O$.from(0),approvedCallTargets:[]}})),...await this.getAllSigners()]}grantAdminPermissions=(0,o.f)(async t=>{let e=await (0,s.aL)(t);return await this.sendSignerPermissionRequest(e,w,y.AddAdmin)});revokeAdminPermissions=(0,o.f)(async t=>{let e=await (0,s.aL)(t);return await this.sendSignerPermissionRequest(e,w,y.RemoveAdmin)});grantPermissions=(0,o.f)(async(t,e)=>{let r=await (0,s.aL)(t),a=await v.parseAsync(e);return await this.sendSignerPermissionRequest(r,a,y.None)});updatePermissions=(0,o.f)(async(t,e)=>{let r=await (0,s.aL)(t),a=await v.parseAsync(e);if(await this.isAdmin(r))throw Error("Signer is already an admin. Cannot update permissions of an existing admin.");
1if(!await this.isSigner(r))throw Error("Signer does not already have permissions. You can grant permissions using `grantPermissions`.");return await this.sendSignerPermissionRequest(r,a,y.None)});revokeAccess=(0,o.f)(async t=>{let e=await (0,s.aL)(t);return await this.sendSignerPermissionRequest(e,{startDate:c.O$.from(0),expirationDate:c.O$.from(0),approvedCallTargets:[],nativeTokenLimitPerTransaction:"0"},y.None)});approveTargetForSigner=(0,o.f)(async(t,e)=>{let r=await (0,s.aL)(t),a=await (0,s.aL)(e);if(await this.isAdmin(r))throw Error("Signer is already an admin. Cannot approve targets for an admin.");if(!await this.isSigner(r))throw Error("Signer does not already have permissions. You can grant permissions using `grantPermissions`.");let n=await this.contractWrapper.read("getPermissionsForSigner",[r]);if(n.approvedTargets.includes(e))throw Error("Target is already approved");let i=[...n.approvedTargets,a];return await this.sendSignerPermissionRequest(r,{startDate:c.O$.from(n.startTimestamp),expirationDate:c.O$.from(n.endTimestamp),approvedCallTargets:i,nativeTokenLimitPerTransaction:n.nativeTokenLimitPerTransaction.toString()},y.None)});disapproveTargetForSigner=(0,o.f)(async(t,e)=>{let r=await (0,s.aL)(t),a=await (0,s.aL)(e);if(await this.isAdmin(r))throw Error("Signer is already an admin. Cannot approve targets for an admin.");if(!await this.isSigner(r))throw Error("Signer does not already have permissions. You can grant permissions using `grantPermissions`.");let n=await this.contractWrapper.read("getPermissionsForSigner",[r]);if(!n.approvedTargets.includes(a))throw Error("Target is currently not approved");let i=n.approvedTargets.filter(t=>d.getAddress(t)!==d.getAddress(a));return await this.sendSignerPermissionRequest(r,{startDate:c.O$.from(n.startTimestamp),expirationDate:c.O$.from(n.endTimestamp),approvedCallTargets:i,nativeTokenLimitPerTransaction:n.nativeTokenLimitPerTransaction.toString()},y.None)});resetAllPermissions=(0,o.f)(async t=>{let e=await T.parseAsync(t);if(this.hasDuplicateSigners(e))throw Error("Duplicate signers found in input.");let r=[],a=[],n=[],i=await this.getAllAdmins(),s=e.filter(t=>t.makeAdmin).map(t=>t.signer);i.forEach(async t=>{if(!s.includes(t)){let e=(await this.sendSignerPermissionRequest(t,w,y.RemoveAdmin)).encode();r.push(e)}});let c=await this.getAllSigners(),p=e.filter(t=>!t.makeAdmin).map(t=>t.signer);for(let t of(await Promise.all(c.map(async t=>{if(!p.includes(t.signer)){let e=(await this.sendSignerPermissionRequest(t.signer,w,y.None)).encode();n.push(e)}})),e))if(t.makeAdmin)(await this.sendSignerPermissionRequest(t.signer,w,y.AddAdmin)).encode();else{let e=(await this.sendSignerPermissionRequest(t.signer,t.permissions,y.None)).encode();a.push(e)}let d=[];return r.forEach(t=>{d.push(t)}),n.forEach(t=>{d.push(t)}),a.forEach(t=>{d.push(t)}),o.T.fromContractWrapper({contractWrapper:this.contractWrapper,method:"multicall",args:[d]})})}class b{featureName=s.dn.name;constructor(t){this.contractWrapper=t,this.accountPermissions=this.detectAccountPermissions()}detectAccountPermissions(){if((0,i.d)(this.contractWrapper,"AccountPermissions")||(0,i.d)(this.contractWrapper,"AccountPermissionsV1"))return new x(this.contractWrapper)}getAddress(){return this.contractWrapper.address}async isAdmin(t){return(0,n.a)(this.accountPermissions,s.dm).isAdmin(t)}async isSigner(t){return(0,n.a)(this.accountPermissions,s.dm).isSigner(t)}async getAllAdmins(){return(0,n.a)(this.accountPermissions,s.dm).getAllAdmins()}async getAllSigners(){return(0,n.a)(this.accountPermissions,s.dm).getAllSigners()}async getAllAdminsAndSigners(){return(0,n.a)(this.accountPermissions,s.dm).getAllAdminsAndSigners()}grantAdminPermissions=(0,o.f)(async t=>(0,n.a)(this.accountPermissions,s.dm).grantAdminPermissions.prepare(t));revokeAdminPermissions=(0,o.f)(async t=>(0,n.a)(this.accountPermissions,s.dm).revokeAdminPermissions.prepare(t));grantPermissions=(0,o.f)(async(t,e)=>(0,n.a)(this.accountPermissions,s.dm).grantPermissions.prepare(t,e));updatePermissions=(0,o.f)(async(t,e)=>(0,n.a)(this.accountPermissions,s.dm).updatePermissions.prepare(t,e));revokeAccess=(0,o.f)(async t=>(0,n.a)(this.accountPermissions,s.dm).revokeAccess.prepare(t));approveTargetForSigner=(0,o.f)(async(t,e)=>(0,n.a)(this.accountPermissions,s.dm).approveTargetForSigner.prepare(t,e));disapproveTargetForSigner=(0,o.f)(async(t,e)=>(0,n.a)(this.accountPermissions,s.dm).disapproveTargetForSigner.prepare(t,e));resetAllPermissions=(0,o.f)(async t=>(0,n.a)(this.accountPermissions,s.dm).resetAllPermissions.prepare(t))}class E{featureName=s.dp.name;constructor(t){this.contractWrapper=t,this.events=new i.a(this.contractWrapper)}getAddress(){return this.contractWrapper.address}async predictAccountAddress(t,e){let r=m.Y0("");return e&&(r=e),this.contractWrapper.read("getAddress",[t,r])}async getAssociatedAccounts(t){return this.contractWrapper.read("getAccountsOfSigner",[t])}async getAllAccounts(){return await this.contractWrapper.read("getAllAccounts",[])}async isAccountDeployed(t,e){let r=await this.predictAccountAddress(t,e);return(0,s.au)(r,this.contractWrapper.getProvider())}createAccount=(0,o.f)(async(t,e)=>{if(await this.isAccountDeployed(t,e))throw Error(`Account already deployed for admin: ${t}`);let r=m.Y0("");return e&&(r=e),o.T.fromContractWrapper({contractWrapper:this.contractWrapper,method:"createAccount",args:[t,r],parse:t=>({address:this.contractWrapper.parseLogs("AccountCreated",t?.logs)[0].args.account,receipt:t})})})}class C{constructor(t,e){this.contractWrapper=t,this.storage=e}async get(){return this._cachedMetadata||(this._cachedMetadata=await (0,s.K)(this.contractWrapper.address,this.contractWrapper.getProvider(),this.storage,this.contractWrapper.options)),this._cachedMetadata}async extractSources(){let t=await this.get();return(0,A.f)(t,this.storage)}async extractFunctions(){let t;try{t=await this.get()}catch(t){}return(0,s.a2)(s.bj.parse(this.contractWrapper.abi),t?.metadata)}async extractEvents(){let t;try{t=await this.get()}catch(t){}return function(t,e){let r=s.bj.parse(t||[]).filter(t=>"event"===t.type),a=[];for(let t of r){let r=(0,s.a0)(t.name,e,"events");a.push({inputs:t.inputs||[],outputs:t.outputs||[],name:t.name||"unknown",comment:r})}return a}(s.bj.parse(this.contractWrapper.abi),t?.metadata)}}class D{featureName=s.dq.name;constructor(t){this.contractWrapper=t}getAddress(){return this.contractWrapper.readContract.address}async getAll(){return await this.contractWrapper.readContract.getAllExtensions()}async get(t){return await this.contractWrapper.readContract.getExtension(t)}async getExtensionAddress(t){return(await this.get(t)).metadata.implementation}async getAllFunctions(t){return(await this.get(t)).functions}async getExtensionForFunction(t){let e=t.functionSelector;return e||((0,g.Z)(t.functionSignature,"Atleast one of function selector and signature must be provided"),e=h.id(t.functionSignature).substring(0,10)),await this.contractWrapper.readContract.getMetadataForFunction(e)}async getExtensionAddressForFunction(t){return(await this.getExtensionForFunction(t)).implementation}add=(0,o.f)(async t=>o.T.fromContractWrapper({contractWrapper:this.contractWrapper,method:"addExtension",args:[t.extension],parse:async e=>{if(this.contractWrapper.parseLogs("ExtensionAdded",e.logs).length<1)throw Error("No ExtensionAdded event found");let r=t.extensionAbi?s.bj.parse(t.extensionAbi):(await (0,s.K)(t.extension.metadata.implementation,this.contractWrapper.getProvider(),this.contractWrapper.storage)).abi,a=this.filterAbiForAdd(r,t.extension),n=(0,s.aj)([s.bj.parse(this.contractWrapper.abi),a]);return this.contractWrapper.updateAbi(n),e}}));addDeployed=(0,o.f)(async t=>{let e=t.extensionAbi;e||(e=(await (0,s.K)(t.extensionAddress,this.contractWrapper.getProvider(),this.contractWrapper.storage,this.contractWrapper.options)).abi),(0,g.Z)(e,"Require extension ABI");let r="";if(t.extensionMetadata){if("string"==typeof t.extensionMetadata)r=t.extensionMetadata;else{let e=await s.bD.parseAsync(t.extensionMetadata);r=await this.contractWrapper.storage.upload(e)}}let a=(0,W.b)(s.bj.parse(e)),n={metadata:{name:t.extensionName,metadataURI:r,implementation:t.extensionAddress},functions:a};return this.add.prepare({extension:n,extensionAbi:e})});addPublished=(0,o.f)(async t=>{let e=t.version||"latest",{deployedExtensionAddress:r,extensionMetadata:a}=await this.deployExtension(t.extensionName,t.publisherAddress||s.aH,e);return this.addDeployed.prepare({extensionName:t.extensionName,extensionAddress:r,extensionMetadata:t.extensionMetadataOverride||a})});replace=(0,o.f)(async t=>o.T.fromContractWrapper({contractWrapper:this.contractWrapper,method:"replaceExtension",args:[t.extension],parse:async e=>{if(this.contractWrapper.parseLogs("ExtensionReplaced",e.logs).length<1)throw Error("No ExtensionReplaced event found");let r=t.extensionAbi?s.bj.parse(t.extensionAbi):(await (0,s.K)(t.extension.metadata.implementation,this.contractWrapper.getProvider(),this.contractWrapper.storage)).abi,a=this.filterAbiForRemove(s.bj.parse(this.contractWrapper.abi),r),n=this.filterAbiForAdd(r,t.extension),i=(0,s.aj)([a,n]);return this.contractWrapper.updateAbi(i),e}}));replaceDeployed=(0,o.f)(async t=>{let e=t.extensionAbi;e||(e=(await (0,s.K)(t.extensionAddress,this.contractWrapper.getProvider(),this.contractWrapper.storage,this.contractWrapper.options)).abi),(0,g.Z)(e,"Require extension ABI");let r="";if(t.extensionMetadata){if("string"==typeof t.extensionMetadata)r=t.extensionMetadata;else{let e=await s.bD.parseAsync(t.extensionMetadata);r=await this.contractWrapper.storage.upload(e)}}let a=(0,W.b)(s.bj.parse(e)),n={metadata:{name:t.extensionName,metadataURI:r,implementation:t.extensionAddress},functions:a};return this.replace.prepare({extension:n,extensionAbi:e})});replacePublished=(0,o.f)(async t=>{let e=t.version||"latest",{deployedExtensionAddress:r,extensionMetadata:a}=await this.deployExtension(t.extensionName,t.publisherAddress||s.aH,e);return this.replaceDeployed.prepare({extensionName:t.extensionName,extensionAddress:r,extensionMetadata:t.extensionMetadataOverride||a})});remove=(0,o.f)(async t=>{let e=await this.getExtensionAddress(t.extensionName);return o.T.fromContractWrapper({contractWrapper:this.contractWrapper,method:"removeExtension",args:[t.extensionName],parse:async t=>{if(this.contractWrapper.parseLogs("ExtensionRemoved",t.logs).length<1)throw Error("No ExtensionRemoved event found");let r=(await (0,s.K)(e,this.contractWrapper.getProvider(),this.contractWrapper.storage)).abi,a=this.filterAbiForRemove(s.bj.parse(this.contractWrapper.abi),r);return this.contractWrapper.updateAbi(a),t}})});filterAbiForAdd(t,e){let r=new l.vU(t),a=e.functions.map(t=>t.functionSelector);return t.filter(t=>{let e=Object.values(new l.vU([t]).functions);if(0===e.length)return!1;let n=r.getSighash(e[0]);return a.includes(n)})}filterAbiForRemove(t,e){let r=new l.vU(t),a=new l.vU(e),n=Object.values(a.functions).map(t=>a.getSighash(t));return t.filter(t=>{let e=Object.values(new l.vU([t]).functions);if(0===e.length)return!1;let a=r.getSighash(e[0]);return!n.includes(a)})}async deployExtension(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"latest",a=await (0,s.aI)(e,t,r,this.contractWrapper.storage,this.contractWrapper.options.clientId,this.contractWrapper.options.secretKey),n=await (0,W.g)(a.metadataUri,this.contractWrapper.storage,this.contractWrapper.getProvider(),"",this.contractWrapper.options.clientId,this.contractWrapper.options.secretKey),i=n.find(t=>"implementation"===t.type)?.transaction.predictedAddress,o=n.filter(t=>t.transaction.data&&t.transaction.data.length>0),c=o.filter(t=>"infra"!==t.type).map(t=>t.transaction),p=o.filter(t=>"infra"===t.type).map(t=>t.transaction),d=this.contractWrapper.getSigner();for(let t of((0,g.Z)(d,"Signer is required"),await (0,W.a)(d,p,{}),c))try{await (0,W.d)(d,t)}catch(e){console.debug(`Error deploying contract at ${t.predictedAddress}`,e?.message)}return{deployedExtensionAddress:i,extensionMetadata:a.metadataUri}}}class R{featureName=s.dr.name;constructor(t){this.contractWrapper=t}getAddress(){return this.contractWrapper.address}drop=(0,o.f)(async(t,e,r)=>o.T.fromContractWrapper({contractWrapper:this.contractWrapper,method:"airdropERC20",args:[t,e,r],parse:t=>{let e=this.contractWrapper.parseLogs("AirdropFailed",t.logs).map(t=>({recipient:t.args.recipient,amount:t.args.amount.toString()}));return{successfulDropCount:r.length-e.length,failedDropCount:e.length,failedDrops:e}}}))}class L{featureName=s.ds.name;constructor(t){this.contractWrapper=t}getAddress(){return this.contractWrapper.address}drop=(0,o.f)(async(t,e,r)=>o.T.fromContractWrapper({contractWrapper:this.contractWrapper,method:"airdropERC721",args:[t,e,r],parse:t=>{let e=this.contractWrapper.parseLogs("AirdropFailed",t.logs).map(t=>({recipient:t.args.recipient,tokenId:t.args.tokenId.toNumber()}));return{successfulDropCount:r.length-e.length,failedDropCount:e.length,failedDrops:e}}}))}class N{featureName=s.dt.name;constructor(t){this.contractWrapper=t}getAddress(){return this.contractWrapper.address}drop=(0,o.f)(async(t,e,r)=>o.T.fromContractWrapper({contractWrapper:this.contractWrapper,method:"airdropERC1155",args:[t,e,r],parse:t=>{let e=this.contractWrapper.parseLogs("AirdropFailed",t.logs).map(t=>({recipient:t.args.recipient,tokenId:t.args.tokenId.toNumber(),amount:t.args.amount.toString()}));return{successfulDropCount:r.length-e.length,failedDropCount:e.length,failedDrops:e}}}))}var k=r(82006),F=r(63693),q=r(73426),O=r(48517),I=r(55826),M=r(68026),j=r(99719),$=r(93250),U=r(12049),K=r(70186);r(58171),r(46124),r(36393),r(59731);class V{get abi(){return s.bj.parse(this.contractWrapper.abi||[])}get royalties(){return(0,n.a)(this.detectRoyalties(),s.d5)}get roles(){return(0,n.a)(this.detectRoles(),s.d4)}get sales(){return(0,n.a)(this.detectPrimarySales(),s.d7)}get platformFees(){return(0,n.a)(this.detectPlatformFees(),s.du)}
1get owner(){return(0,n.a)(this.detectOwnable(),s.d6)}get erc20(){return(0,n.a)(this.detectErc20(),s.cI)}get erc721(){return(0,n.a)(this.detectErc721(),s.c$)}get erc1155(){return(0,n.a)(this.detectErc1155(),s.dj)}get app(){return(0,n.a)(this.detectApp(),s.cK)}get directListings(){return(0,n.a)(this.detectDirectListings(),s.dA)}get englishAuctions(){return(0,n.a)(this.detectEnglishAuctions(),s.dB)}get offers(){return(0,n.a)(this.detectOffers(),s.dC)}get airdrop20(){return(0,n.a)(this.detectAirdrop20(),s.dr)}get airdrop721(){return(0,n.a)(this.detectAirdrop721(),s.ds)}get airdrop1155(){return(0,n.a)(this.detectAirdrop1155(),s.dt)}get accountFactory(){return(0,n.a)(this.detectAccountFactory(),s.dp)}get account(){return(0,n.a)(this.detectAccount(),s.dn)}get extensions(){return(0,n.a)(this.detectBaseRouter(),s.dq)}get chainId(){return this._chainId}constructor(t,e,r,a){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=arguments.length>5?arguments[5]:void 0,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:new s.cs(t,e,r,n,a);this._chainId=o,this.storage=a,this.contractWrapper=c,this.events=new i.a(this.contractWrapper),this.encoder=new k.C(this.contractWrapper),this.interceptor=new F.C(this.contractWrapper),this.estimator=new i.G(this.contractWrapper),this.publishedMetadata=new C(this.contractWrapper,this.storage),this.metadata=new i.C(this.contractWrapper,s.bg,this.storage)}onNetworkUpdated(t){this.contractWrapper.updateSignerOrProvider(t)}getAddress(){return this.contractWrapper.address}prepare(t,e,r){return o.T.fromContractWrapper({contractWrapper:this.contractWrapper,method:t,args:e,overrides:r})}async call(t,e,r){return this.contractWrapper.call(t,e,r)}detectRoyalties(){if((0,i.d)(this.contractWrapper,"Royalty")){let t=new i.C(this.contractWrapper,s.bg,this.storage);return new q.C(this.contractWrapper,t)}}detectRoles(){if((0,i.d)(this.contractWrapper,"Permissions"))return new I.C(this.contractWrapper,s.G)}detectPrimarySales(){if((0,i.d)(this.contractWrapper,"PrimarySale"))return new M.C(this.contractWrapper)}detectPlatformFees(){if((0,i.d)(this.contractWrapper,"PlatformFee"))return new O.C(this.contractWrapper)}detectErc20(){if((0,i.d)(this.contractWrapper,"ERC20"))return new $.E(this.contractWrapper,this.storage,this.chainId)}detectErc721(){if((0,i.d)(this.contractWrapper,"ERC721"))return new U.E(this.contractWrapper,this.storage,this.chainId)}detectErc1155(){if((0,i.d)(this.contractWrapper,"ERC1155"))return new j.E(this.contractWrapper,this.storage,this.chainId)}detectOwnable(){if((0,i.d)(this.contractWrapper,"Ownable"))return new q.a(this.contractWrapper)}detectApp(){let t=new i.C(this.contractWrapper,s.bg,this.storage);return(0,i.d)(this.contractWrapper,"AppURI")?new i.b(this.contractWrapper,t,this.storage):(0,i.d)(this.contractWrapper,"ContractMetadata")?new i.b(this.contractWrapper,t,this.storage):void 0}detectDirectListings(){if((0,i.d)(this.contractWrapper,"DirectListings"))return new K.M(this.contractWrapper,this.storage)}detectEnglishAuctions(){if((0,i.d)(this.contractWrapper,"EnglishAuctions"))return new K.a(this.contractWrapper,this.storage)}detectOffers(){if((0,i.d)(this.contractWrapper,"Offers"))return new K.b(this.contractWrapper,this.storage)}detectBaseRouter(){if((0,i.d)(this.contractWrapper,s.dq.name))return new D(this.contractWrapper)}detectAirdrop20(){if((0,i.d)(this.contractWrapper,"AirdropERC20"))return new R(this.contractWrapper)}detectAirdrop721(){if((0,i.d)(this.contractWrapper,"AirdropERC721"))return new L(this.contractWrapper)}detectAirdrop1155(){if((0,i.d)(this.contractWrapper,"AirdropERC1155"))return new N(this.contractWrapper)}detectAccountFactory(){if((0,i.d)(this.contractWrapper,s.dp.name))return new E(this.contractWrapper)}detectAccount(){if((0,i.d)(this.contractWrapper,s.dn.name))return new b(this.contractWrapper)}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.