CW/ERC 721 Launchpad Config
The CW/ERC 721 configuration is used to deploy and interact with CW/ERC 721 contracts.
To generate a CW/ERC 721 configuration file, you can use the following command:
$ lighthouse init project 721 <name> <chain>
<name>
: The name of the nft collection.<chain>
: The chain. you want to deploy the CW/ERC 721 contract to.
The command will generate a json file with the following structure:
{
"chain": "<chain>",
"collection_type": "721",
"name": "<name>",
"symbol": "",
"supply": "4444",
"token_uri": "",
"uri_suffix": "",
"fixed_uri": false,
"royalty_percent": "5",
"royalty_wallet": "",
"is_immutable": false,
"start_order": "1",
"frozen": false,
"unfreeze_time": null,
"hidden_metadata": false,
"placeholder_token_uri": "",
"groups": [
{
"name": "public",
"merkle_root": null,
"max_mints_per_wallet": "0",
"reserved_supply": "0",
"payments": [
{
"type": "native",
"amount": "1000000",
"destination": ""
},
{
"type": "cw20",
"amount": "1000000",
"destination": "",
"contract": ""
},
{
"type": "cw20_burn",
"amount": "1000000",
"contract": ""
}
],
"start_time": "2024-05-27T00:00:00Z",
"end_time": null
}
]
}
Fields
chain
- The chain you want to deploy the CW/ERC 721 contract to. Available chains.
collection_type
- type of the collection. In this case, it is 721
.
name
- Name of the nft collection.
symbol
- Symbol of the nft collection.
supply
- Total supply of the nft collection.
token_uri
- Base token url of the collection
uri_suffix
- Suffix to append to the token uri. (token_uri + / + token_id + uri_suffix) - optional
fixed_uri
- If true, the token uri will be fixed and will not be appended with token id.
royalty_percent
- royalty percent on every sale
royalty_wallet
- wallet to receive royalty. (If chain is EVM, this should be 0x address else it should be sei address)
is_immutable
- If true, the collection will be immutable. (No changes can be made to the collections token uri, royalty, etc.)
start_order
- The token id to start minting from. (Default is 0)
frozen
- Should the trading be frozen or not (default: false) (can only freezed while deploying and can't be freezed after deployed)
unfreeze_time
- The time to automatically unfreeze the collection. (If null, the collection will be frozen indefinitely) (after this time, the transfer will be enabled but you should manually unfreeze the collection even if the time is passed)
hidden_metadata
- Should the metadata be hidden and replaced with "placeholder_token_uri" or not (default: false) (can only be hidden while deploying and can't be hidden after deployed)
placeholder_token_uri
- Placeholder token url to use for every nft's metadata if "hidden_metadata" is set to true
groups
- Array of mint groups.
Group Options
name
- Group name
merkle_root
- Merkle root to restrict minting to only allowlisted wallets
max_mints_per_wallet
- Max mint per wallet
reserved_supply
- Reserved supply for the group. (If the reserved supply is set, the group will not be able to mint more than the reserved supply)
payments
- Array of payment options.
start_time
- Start time of the group. (If null, the group will start minting immediately)
end_time
- End time of the group. (If null, the group will mint indefinitely)
Payment Options
type
- Payment type
native
- Pay with native token (SEI)cw20
- Pay with cw20 tokencw20_burn
- Pay with cw20 token and burn the payment
amount
- Amount to pay for minting. should be in the smallest unit of the chain. (eg: 1 SEI = 1000000)
destination
- Destination wallet address to receive the payment. (must be sei address)
contract
- Contract address for cw20 and cw20_burn payments. (must be cw20 contract address)