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
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
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
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)
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
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