You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -102,6 +102,39 @@ contract IPNFT is ERC721URIStorageUpgradeable, ERC721BurnableUpgradeable, IReser
102
102
emitReserved(_msgSender(), reservationId);
103
103
}
104
104
105
+
/**
106
+
* @notice mints an IPNFT with `tokenURI` as source of metadata. This IPNFT is linked a proof of idea (POI) which is a hash of any collection of files that represents an idea, anchored on any chain.
107
+
* @notice We are charging a nominal fee to symbolically represent the transfer of ownership rights, for a price of .001 ETH (<$2USD at current prices). This helps ensure the protocol is affordable to almost all projects, but discourages frivolous IP-NFT minting.
108
+
*
109
+
* @param to the recipient of the NFT
110
+
* @param poi the hash of the poi that will be computed to the tokenId
111
+
* @param _tokenURI a location that resolves to a valid IP-NFT metadata structure
112
+
* @param _symbol a symbol that represents the IPNFT's derivatives. Can be changed by the owner
113
+
* @param authorization a bytes encoded parameter that ensures that the poi is owned by the owner (to param)
114
+
* @return computedTokenId
115
+
*/
116
+
function mintWithPOI(addressto, bytescalldatapoi, stringcalldata_tokenURI, stringcalldata_symbol, bytescalldataauthorization)
117
+
external
118
+
payable
119
+
whenNotPaused
120
+
returns (uint256)
121
+
{
122
+
uint256 computedTokenId =uint256(keccak256(poi));
123
+
if (msg.value< SYMBOLIC_MINT_FEE) {
124
+
revertMintingFeeTooLow();
125
+
}
126
+
127
+
if (!mintAuthorizer.authorizeMint(_msgSender(), to, abi.encode(SignedMintAuthorization(computedTokenId, _tokenURI, authorization)))) {
* @notice mints an IPNFT with `tokenURI` as source of metadata. Invalidates the reservation. Redeems `mintpassId` on the authorizer contract
107
140
* @notice We are charging a nominal fee to symbolically represent the transfer of ownership rights, for a price of .001 ETH (<$2USD at current prices). This helps ensure the protocol is affordable to almost all projects, but discourages frivolous IP-NFT minting.
@@ -142,31 +175,6 @@ contract IPNFT is ERC721URIStorageUpgradeable, ERC721BurnableUpgradeable, IReser
142
175
return reservationId;
143
176
}
144
177
145
-
/**
146
-
* @notice mints an IPNFT with `tokenURI` as source of metadata. This IPNFT is linked a proof of idea (POI) which is a hash of any collection of files that represents an idea, anchored on any chain.
147
-
* @notice We are charging a nominal fee to symbolically represent the transfer of ownership rights, for a price of .001 ETH (<$2USD at current prices). This helps ensure the protocol is affordable to almost all projects, but discourages frivolous IP-NFT minting.
148
-
*
149
-
* @param to the recipient of the NFT
150
-
* @param _tokenURI a location that resolves to a valid IP-NFT metadata structure
151
-
* @param _symbol a symbol that represents the IPNFT's derivatives. Can be changed by the owner
152
-
* @param authorization a bytes encoded parameter that ensures that the poi is owned by the owner (to param)
153
-
* @param poi the hash of the poi that will be the tokenId
0 commit comments