documentation improvements
This commit is contained in:
parent
0f93eae7b0
commit
dcc29d5d4d
|
@ -14,12 +14,11 @@ contract CurioERC1155Wrapper is ERC1155, ERC1155Metadata_URI, Ownable {
|
||||||
using SafeMath for uint256;
|
using SafeMath for uint256;
|
||||||
using Address for address;
|
using Address for address;
|
||||||
|
|
||||||
// nft id => curio contract address
|
|
||||||
mapping (uint256 => address) public contracts;
|
mapping (uint256 => address) public contracts;
|
||||||
mapping (uint256 => string) public urls;
|
mapping (uint256 => string) public urls;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@notice Initialize an nft id's data.
|
@notice Initialize an nft id's data
|
||||||
*/
|
*/
|
||||||
function create(uint256 _id, address _contract, string memory _url) internal {
|
function create(uint256 _id, address _contract, string memory _url) internal {
|
||||||
|
|
||||||
|
@ -45,11 +44,11 @@ contract CurioERC1155Wrapper is ERC1155, ERC1155Metadata_URI, Ownable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@dev override ERC1155 uri function to return IPFS ref.
|
@notice Returns URI of token metadata
|
||||||
@param _id NFT ID
|
@param _id NFT ID
|
||||||
@return IPFS URI pointing to NFT ID's metadata.
|
@return URI data URI of metadata JSON
|
||||||
*/
|
*/
|
||||||
function uri(uint256 _id) public view returns (string memory) {
|
function uri(uint256 _id) external override view returns (string memory) {
|
||||||
IMastersFedi curio = IMastersFedi(contracts[_id]);
|
IMastersFedi curio = IMastersFedi(contracts[_id]);
|
||||||
|
|
||||||
return string(abi.encodePacked("data:application/json;base64,", Base64.encode(abi.encodePacked(
|
return string(abi.encodePacked("data:application/json;base64,", Base64.encode(abi.encodePacked(
|
||||||
|
@ -66,8 +65,9 @@ contract CurioERC1155Wrapper is ERC1155, ERC1155Metadata_URI, Ownable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@dev change the external URL for a token.
|
@notice Change the external URL for a token
|
||||||
@param _id NFT ID
|
@param _id NFT ID
|
||||||
|
@param _url URL pointing to user or site
|
||||||
*/
|
*/
|
||||||
function setExternalUrl(uint256 _id, string memory _url) external onlyOwner {
|
function setExternalUrl(uint256 _id, string memory _url) external onlyOwner {
|
||||||
require(contracts[_id] != address(0), "id must exist");
|
require(contracts[_id] != address(0), "id must exist");
|
||||||
|
@ -76,18 +76,22 @@ contract CurioERC1155Wrapper is ERC1155, ERC1155Metadata_URI, Ownable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@dev helper function to see if NFT ID exists, makes OpenSea happy.
|
@notice If NFT ID exists
|
||||||
|
@dev Makes OpenSea happy
|
||||||
@param _id NFT ID
|
@param _id NFT ID
|
||||||
@return if NFT ID exists.
|
@return exists if NFT ID exists.
|
||||||
*/
|
*/
|
||||||
function exists(uint256 _id) external view returns(bool) {
|
function exists(uint256 _id) external view returns(bool) {
|
||||||
return contracts[_id] != address(0);
|
return contracts[_id] != address(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@dev for an NFT ID, queries and transfers tokens from the appropriate
|
@notice Converts old-style NFT to new-style
|
||||||
curio contract to itself, and mints and transfers corresponding new
|
@dev For an NFT ID, queries and transfers tokens from the appropriate
|
||||||
ERC-1155 tokens to caller.
|
curio contract to itself, and mints and transfers corresponding new
|
||||||
|
ERC-1155 tokens to caller
|
||||||
|
@param _id NFT ID
|
||||||
|
@param _quantity how many to wrap
|
||||||
*/
|
*/
|
||||||
function wrap(uint256 _id, uint256 _quantity) external {
|
function wrap(uint256 _id, uint256 _quantity) external {
|
||||||
address tokenContract = contracts[_id];
|
address tokenContract = contracts[_id];
|
||||||
|
@ -112,7 +116,9 @@ contract CurioERC1155Wrapper is ERC1155, ERC1155Metadata_URI, Ownable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@dev batch version of wrap.
|
@notice Batch version of wrap function
|
||||||
|
@param _ids array of NFT IDs
|
||||||
|
@param _quantities how many to wrap of each
|
||||||
*/
|
*/
|
||||||
function wrapBatch(uint256[] calldata _ids, uint256[] calldata _quantities) external {
|
function wrapBatch(uint256[] calldata _ids, uint256[] calldata _quantities) external {
|
||||||
require(_ids.length == _quantities.length, "ids and quantities must match");
|
require(_ids.length == _quantities.length, "ids and quantities must match");
|
||||||
|
@ -145,8 +151,11 @@ contract CurioERC1155Wrapper is ERC1155, ERC1155Metadata_URI, Ownable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@dev for an NFT ID, burns ERC-1155 quantity and transfers curio ERC-20
|
@notice Unwrap new-style NFTs back to old-style
|
||||||
tokens to caller.
|
@dev For an NFT ID, burns ERC-1155 quantity and transfers curio ERC-20
|
||||||
|
tokens to caller
|
||||||
|
@param _id NFT ID
|
||||||
|
@param _quantity how many to unwrap
|
||||||
*/
|
*/
|
||||||
function unwrap(uint256 _id, uint256 _quantity) external {
|
function unwrap(uint256 _id, uint256 _quantity) external {
|
||||||
address tokenContract = contracts[_id];
|
address tokenContract = contracts[_id];
|
||||||
|
@ -163,7 +172,9 @@ contract CurioERC1155Wrapper is ERC1155, ERC1155Metadata_URI, Ownable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@dev batch version of unwrap.
|
@notice Batch version of unwrap
|
||||||
|
@param _ids array of NFT IDs
|
||||||
|
@param _quantities how many to unwrap of each
|
||||||
*/
|
*/
|
||||||
function unwrapBatch(uint256[] calldata _ids, uint256[] calldata _quantities) external {
|
function unwrapBatch(uint256[] calldata _ids, uint256[] calldata _quantities) external {
|
||||||
require(_ids.length == _quantities.length, "ids and quantities must match");
|
require(_ids.length == _quantities.length, "ids and quantities must match");
|
||||||
|
|
Loading…
Reference in New Issue