GitHub current state

Hey everybody!

In this topic we will publish information and updates of our GitHub.

As you know, we are mostly opensourced. There are some parts that we don’t share like our frontend and missions backend as these parts don’t need to be decentralised and can’t give benefits to open source community (as they are too project-specific).

Here is the list of our public repositories:

  • contracts - almost all our contracts (others are opensourced too, see below). The decentralized Game Core. Audited
  • web application - frontend application
  • missions and profile backend - main MarsColony backend for missions, profile and stuff
  • metadata-server - the backend server with land plots metadata
  • avatar-server - the same for avatar collection
  • gears metaserver - metadata server for gears collection
  • liquidity-mining - the audited liquidity mining contracts
  • viewer - some auxiliary contracts used in our frontend to fetch data from our Game Core. Used to provide much better user experience
  • enh-positions - some additional contracts too. One of them is used to solve placing conflicts for buildings.
  • bot - telegram and discord bot. Guys from community took part in its development (special thanks to fnatik :slight_smile: )
  • cart reservation server - small server for reservations in the cart while claiming land plots (currently only for polygon and mumbai)
  • clny price oracle backend - oracle backend for getting CLNY price
  • poll - old contract for polls; legacy

And some info on contracts repository and its branches.

  • master – current product on Harmony. Current commit can be below or above current state, but mostly it is pushed and deployed simultaneously.
  • bsc - historic branch of first version on Binance Smart Chain. Deleted
  • cryochamber - current development of cryochamber feature (sending avatars to cryochamber to get more xp passively). Merged to master and deleted
  • harmony-without-avatars - one of old states. Deleted
  • lootboxes - crates feature. Merged to master and deleted
  • nftMarketplace - branch where our junior smart contract developer works on the first version of the on-globe marketplace (see my comments here). Will be merged to master and deleted as feature goes live
  • polygon - polygon version
  • polygon-shares - Merged and deployed to polygon before the public launch. The main difference - another token emission style as mentioned in wp here

New repo: lootboxes (crates) metadata server

Some sneak peek there


lootboxes branch in contracts repo merged to master and deleted; deployed to harmony testnet and harmony chains (only contracts so far)

1 Like

poll_v2 branch in contracts repo - not very big improvement on poll mechanics

Should I make a post about it?

contracts repo update:

branch poll_v2 merged into master and deleted
branch polygon-shares merged into polygon and deleted
polygon contracts upgraded to branch polygon current state after merge

cryochamber branch deployed to testnet and is being integrated into frontend (finishing it)
preparing cryochamber branch to deploy to harmony mainnet and merge into master after unit tests and integration manual tests


contracts repo update:

branch cryochamber merged into master and deleted

new contracts are on Harmony already

Also modified avatar-server to provide metadata traits about avatars being in cryochambers: in chamber parameters · marscolony-io/avatar-server@4c98a61 · GitHub

Crates images backgrounds changed to fit avatars rarity colors: modify assets · marscolony-io/lootboxes-server@0484554 · GitHub

In contracts repository polygon-royalties branch was merged into polygon to fit EIP-2981 NFT Royalty Standard and Rarible royalty standard (was already deployed before)

Pull request with revshare feature: Revshare by crystalbit · Pull Request #18 · marscolony-io/contracts · GitHub

Under development and testing now

revshare branch was merged into master in contracts repository


Looks like it was our mistake (actually just my decision) to make two separate branches for harmony and polygon versions

Currently we are adding Lootboxes and Cryochambers functionality to polygon branch and have many conflicts so far, also need to copy tests, etc. So a few-minutes task revealed to be a few-hours task.

So there is a refactor idea to prevent this in the future - we need to make only one main branch and fully network-dependent deploy and testing process. As we see, only GameManager contract will be in two versions (as there are two very different tokenomics), other contracts won’t differ a lot. Same as for future chains

1 Like

And some offtop: it is late to implement in our contracts, but I really like diamond pattern

Hypothetically we still can implement some part of the pattern for our view methods, but I don’t think this would be convenient for current architecture

1 Like

Referral program, work in progress:

Adding a separate contract for informative statistics on frontend, work in progress:

Branches bsc and harmony-without-avatars deleted from contracts repository

Referral program PR for polygon has been merged to Polygon branch

Merged dima/unify-master into master

Deleting polygon branch soon and working in one branch

Lootboxes server: rarity added to attributes