Zodiac modules are a smart contract built to pass specific transactions to a Gnosis Safe. The Buy and List modules below were built to specify functions around Buying and Listing as standalone actions. These modules could be deployed to add buy and list functions to any Gnosis Safe.
The only contract launched by the Ship factory upon creation is the Ship Module.
The Ship Module does all of the work for crowdfunding, coordinating the NFT strategy, and providing different functions based on states of Ship development. All other contracts defined in this repo are included in this contract to save gas and provide an efficient experience when launching Ships on Sail.
The Buy Module allows for a Captain to buy NFTs on behalf of the Ship once the ETH Goal is reached. This purchasing can only occur during the Fundraising Period.
The list module calls transactions associated with NFT listing. In order to satisfy OpenSea API policies, listing takes a two step process:
- 1.Send NFT to Ship Module from Ship SAFE
- 2.Commit transaction to list via the List Module
These two transactions occur simultaneously for the user, but do add some complexity for listing on OpenSea.