1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7747],{61406:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{S:function(){return StandardErc721}});var _QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(17249),_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3983);class StandardErc721{get chainId(){return this._chainId}constructor(contractWrapper,storage,chainId){(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__._)(this,"contractWrapper",void 0),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__._)(this,"storage",void 0),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__._)(this,"erc721",void 0),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__._)(this,"_chainId",void 0),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__._)(this,"transfer",(0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_1__.ds)(async(to,tokenId)=>this.erc721.transfer.prepare(to,tokenId))),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__._)(this,"setApprovalForAll",(0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_1__.ds)(async(operator,approved)=>this.erc721.setApprovalForAll.prepare(operator,approved))),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__._)(this,"setApprovalForToken",(0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_1__.ds)(async(operator,tokenId)=>_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_1__.aV.fromContractWrapper({contractWrapper:this.contractWrapper,method:"approve",args:[await (0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_1__.cH)(operator),tokenId]}))),this.contractWrapper=contractWrapper,this.storage=storage,this.erc721=new _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_1__.au(this.contractWrapper,this.storage,chainId),this._chainId=chainId}onNetworkUpdated(network){this.contractWrapper.updateSignerOrProvider(network)}getAddress(){return this.contractWrapper.readContract.address}async getAll(queryParams){return this.erc721.getAll(queryParams)}async getOwned(walletAddress){return walletAddress&&(walletAddress=await (0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_1__.cH)(walletAddress)),this.erc721.getOwned(walletAddress)}async getOwnedTokenIds(walletAddress){return walletAddress&&(walletAddress=await (0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_1__.cH)(walletAddress)),this.erc721.getOwnedTokenIds(walletAddress)}async totalSupply(){return this.erc721.totalCirculatingSupply()}async get(tokenId){return this.erc721.get(tokenId)}async ownerOf(tokenId){return this.erc721.ownerOf(tokenId)}async balanceOf(address){return this.erc721.balanceOf(address)}async balance(){return this.erc721.balance()}async isApproved(address,operator){return this.erc721.isApproved(address,operator)}}},61059:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{h:function(){return hasERC20Allowance}});var _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(3983),_thirdweb_dev_contracts_js_dist_abis_IERC20_json__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(49242);async function hasERC20Allowance(contractToApprove,currencyAddress,value){let provider=contractToApprove.getProvider(),erc20=new _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.dz(provider,currencyAddress,_thirdweb_dev_contracts_js_dist_abis_IERC20_json__WEBPACK_IMPORTED_MODULE_1__,{}),owner=await contractToApprove.getSignerAddress(),spender=contractToApprove.readContract.address,allowance=await erc20.readContract.allowance(owner,spender);return allowance.gte(value)}},87747:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Multiwrap:function(){return Multiwrap}});var _QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(17249),_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(3983),_erc_721_standard_b90faf4d_browser_esm_js__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(61406),ethers__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(61744),_hasERC20Allowance_59b9da80_browser_esm_js__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(61059);__webpack_require__(13550),__webpack_require__(71770),__webpack_require__(54098),__webpack_require__(2162),__webpack_require__(64063),__webpack_require__(62822);class Multiwrap extends _erc_721_standard_b90faf4d_browser_esm_js__WEBPACK_IMPORTED_MODULE_6__.S{constructor(network,address,storage){let options=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},abi=arguments.length>4?arguments[4]:void 0,chainId=arguments.length>5?arguments[5]:void 0,contractWrapper=arguments.length>6&&void 0!==arguments[6]?arguments[6]:new _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.dz(network,address,abi,options);super(contractWrapper,storage,chainId),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_8__._)(this,"abi",void 0),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_8__._)(this,"encoder",void 0),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_8__._)(this,"estimator",void 0),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_8__._)(this,"metadata",void 0),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_8__._)(this,"app",void 0),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_8__._)(this,"events",void 0),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_8__._)(this,"roles",void 0),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_8__._)(this,"royalties",void 0),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_8__._)(this,"owner",void 0),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_8__._)(this,"wrap",(0,_c
1ontract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.ds)(async(contents,wrappedTokenMetadata,recipientAddress)=>{let uri=await (0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.dK)(wrappedTokenMetadata,this.storage),recipient=await (0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.cH)(recipientAddress||await this.contractWrapper.getSignerAddress()),tokens=await this.toTokenStructList(contents);return _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.aV.fromContractWrapper({contractWrapper:this.contractWrapper,method:"wrap",args:[tokens,uri,recipient],parse:receipt=>{let event=this.contractWrapper.parseLogs("TokensWrapped",receipt?.logs);if(0===event.length)throw Error("TokensWrapped event not found");let tokenId=event[0].args.tokenIdOfWrappedToken;return{id:tokenId,receipt,data:()=>this.get(tokenId)}}})})),(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_8__._)(this,"unwrap",(0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.ds)(async(wrappedTokenId,recipientAddress)=>{let recipient=await (0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.cH)(recipientAddress||await this.contractWrapper.getSignerAddress());return _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.aV.fromContractWrapper({contractWrapper:this.contractWrapper,method:"unwrap",args:[wrappedTokenId,recipient]})})),this.abi=_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.e.parse(abi||[]),this.metadata=new _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.ag(this.contractWrapper,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.dJ,this.storage),this.app=new _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.a$(this.contractWrapper,this.metadata,this.storage),this.roles=new _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.ah(this.contractWrapper,Multiwrap.contractRoles),this.encoder=new _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.af(this.contractWrapper),this.estimator=new _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.aP(this.contractWrapper),this.events=new _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.aQ(this.contractWrapper),this.royalties=new _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.ai(this.contractWrapper,this.metadata),this.owner=new _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.aU(this.contractWrapper)}async getWrappedContents(wrappedTokenId){let wrappedTokens=await this.contractWrapper.readContract.getWrappedContents(wrappedTokenId),erc20Tokens=[],erc721Tokens=[],erc1155Tokens=[];for(let token of wrappedTokens)switch(token.tokenType){case 0:{let tokenMetadata=await (0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.b8)(this.contractWrapper.getProvider(),token.assetContract);erc20Tokens.push({contractAddress:token.assetContract,quantity:ethers__WEBPACK_IMPORTED_MODULE_9__.formatUnits(token.totalAmount,tokenMetadata.decimals)});break}case 1:erc721Tokens.push({contractAddress:token.assetContract,tokenId:token.tokenId});break;case 2:erc1155Tokens.push({contractAddress:token.assetContract,tokenId:token.tokenId,quantity:token.totalAmount.toString()})}return{erc20Tokens,erc721Tokens,erc1155Tokens}}async toTokenStructList(contents){let tokens=[],provider=this.contractWrapper.getProvider(),owner=await this.contractWrapper.getSignerAddress();if(contents.erc20Tokens)for(let erc20 of contents.erc20Tokens){let normalizedQuantity=await (0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.b7)(provider,erc20.quantity,erc20.contractAddress),hasAllowance=await (0,_hasERC20Allowance_59b9da80_browser_esm_js__WEBPACK_IMPORTED_MODULE_10__.h)(this.contractWrapper,erc20.contractAddress,normalizedQuantity);if(!hasAllowance)throw Error(`ERC20 token with contract address "${erc20.contractAddress}" does not have enough allowance to transfer. 2 3You can set allowance to the multiwrap contract to transfer these tokens by running: 4 5await sdk.getToken("${erc20.contractAddress}").setAllowance("${this.getAddress()}", ${erc20.quantity}); 6 7`);tokens.push({assetContract:erc20.contractAddress,totalAmount:normalizedQuantity,tokenId:0,tokenType:0})}if(contents.erc721Tokens)for(let erc721 of contents.erc721Tokens){let isApproved=await (0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.dv)(this.contractWrapper.getProvider(),this.getAddress(),erc721.contractAddress,erc721.tokenId,owner);if(!isApproved)throw Error(`ERC721 token "${erc721.tokenId}" with contract address "${erc721.contractAddress}" is not approved for transfer. 8 9You can give approval the multiwrap contract to transfer this token by running: 10 11await sdk.getNFTCollection("${erc721.contractAddress}").setApprovalForToken("${this.getAddress()}", ${erc721.tokenId}); 12 13`);tokens.push({assetContract:erc721.contractAddress,totalAmount:0,tokenId:erc721.tokenId,tokenType:1})}
13if(contents.erc1155Tokens)for(let erc1155 of contents.erc1155Tokens){let isApproved1=await (0,_contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.dv)(this.contractWrapper.getProvider(),this.getAddress(),erc1155.contractAddress,erc1155.tokenId,owner);if(!isApproved1)throw Error(`ERC1155 token "${erc1155.tokenId}" with contract address "${erc1155.contractAddress}" is not approved for transfer. 14 15You can give approval the multiwrap contract to transfer this token by running: 16 17await sdk.getEdition("${erc1155.contractAddress}").setApprovalForAll("${this.getAddress()}", true); 18 19`);tokens.push({assetContract:erc1155.contractAddress,totalAmount:erc1155.quantity,tokenId:erc1155.tokenId,tokenType:2})}return tokens}async prepare(method,args,overrides){return _contract_metadata_88f06ef9_browser_esm_js__WEBPACK_IMPORTED_MODULE_7__.aV.fromContractWrapper({contractWrapper:this.contractWrapper,method,args,overrides})}async call(functionName,args,overrides){return this.contractWrapper.call(functionName,args,overrides)}}(0,_QueryParams_7d9473b5_browser_esm_js__WEBPACK_IMPORTED_MODULE_8__._)(Multiwrap,"contractRoles",["admin","transfer","minter","unwrap","asset"])}}]);
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.