1.0.0 • Published 3 months ago

@exodus.town/contracts v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
3 months ago

Exodus Town - Contracts

TownToken

The $TOWN token is an ERC721 token (aka "NFT") that represents a parcel in the exodus.town world. This token can only be minted by the minter role, which should be set to be the AuctionHouse contract.

AuctionHouse

This contract is the responsible of minting TownToken parcels and auctioning them off (one per day, eternally growing in a spiral from the center of the world). The auctions are settled in an ERC20 token, which should be set to be the $MANA token, and all the proceeds are sent to the owner of the contract, which should be set to be the ExodusDAO.

ExodusDAO

This is an OpenZeppelin Governor configured to be governed by the TownToken holders. It will receive all the proceeds of the auctions, which then can be put to use by making and passing proposals. It is set to allow creating proposals only after 100 $TOWN tokens have been minted, to prevent 51% attacks while the supply is too low.

Tasks

deploy

This task deploys the TownToken, AuctionHouse and ExodusDAO contracts, transfers the TownToken ownership to the AuctionHouse, unpauses the AuctionHouse (this creates the first auction), and finally it transfers the ownership of the AuctionHouse to the ExodusDAO.

Contracts

Mumbai