Skip to content
This repository has been archived by the owner on May 16, 2023. It is now read-only.

feat: inital structure and template project #1

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* text=auto eol=lf
mvanmeerbeck marked this conversation as resolved.
Show resolved Hide resolved
*.sol linguist-language=Solidity
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.env
yarn.error.log
yarn-error.log
.yalc
yalc.lock
coverage*
.vscode/*
node_modules/
.idea/
.DS_Store
80 changes: 80 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Smart-Contracts for [The Sandbox](https://www.sandbox.game)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's rework this readme with a simple but complete install / get started


[www.sandbox.game](https://www.sandbox.game)

The Sandbox is a user-generated content (UGC) gaming platform that will empower creators through digital ownership and
monetization of 3D voxel creations made and shared by users around the world.

Learn more:

- Website: www.sandbox.game
- Discord: https://discordapp.com/invite/vAe4zvY
- Telegram: https://t.me/sandboxgame
- Medium: https://medium.com/sandbox-game

# Blockchain Features

We’re adopting the best standards to reach to players who are not familiar with Blockchain and Web3 technologies,
simplifying the UX and on-boarding

- Dual token structure smart-contract: [ERC-721](https://eips.ethereum.org/EIPS/eip-721)
/ [ERC-1155](https://eips.ethereum.org/EIPS/eip-1155)
- Escrowless Auctions
- Meta-Transactions
- [EIP-712 DRAFT](https://eips.ethereum.org/EIPS/eip-712) for Human-Readable signature messages
- [EIP-1776 DRAFT](https://github.com/ethereum/EIPs/issues/1776) submitted by Pixowl to Ethereum for Native
Meta-Transactions

More detailed information can be found on our Medium
article: [https://medium.com/sandbox-game/blockchain-features-in-the-sandbox-7db91fcc615c](https://medium.com/sandbox-game/blockchain-features-in-the-sandbox-7db91fcc615c)

---

# Get Started Instructions

If you want to check out our contracts and run the test follow these instructions :

SETUP :

```
yarn
```

RUN TESTS :

```
yarn test
```

# Technical Documentation

You can explore here the documentation of our tokens and blockchain featurs:

- our ERC-20 token : [SAND](documentation/Sand.md)
- Meta-Transaction implementation (EIP-1776) : [Meta-Transactions](documentation/meta_transactions.md)

- our ERC-1155/ERC-721 Asset token : [ASSET](documentation/Asset.md)

- our ERC-721 LAND token : [LAND](documentation/Land.md)

- our Marketplaces features: [Escrowless Auctions](documentation/escrow_less_auctions.md)
- our User-Generated Content Moderation Policies using [Prediction Market](documentation/curation.md)

# Your First Pull Request

We are using feature branches to host the code of an upcoming feature. All feature branches start with "feat/"
prefix, each feature branch is intended for a single purpose. The following branches will reject direct pushes:

- main branch
- "feat/" prefixed branches

So, in order to commit your changes to master you will have to

- git checkout master
- git checkout -b feat/exampleFeature
- git push --set-upstream origin feat/exampleFeature
- git checkout -b exampleFeature
- git push --set-upstream origin exampleFeature

Now you can write your code and push your changes to the exampleFeature branch, once your'e done you need to open a pull
request from exampleFeature to feat/exampleFeature, and then another pull request from feat/exampleFeature to master.
24 changes: 24 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"name": "contracts",
"version": "0.0.1",
"workspaces": [
"packages/*"
],
"private": true,
"description": "The Sandbox game smart contracts",
"scripts": {
"test": "yarn workspaces run test"
},
"repository": {
"type": "git",
"url": "https://github.com/thesandboxgame/contracts.git"
},
"keywords": [],
"author": "",
"license": "MIT",
"bugs": {
"url": "https://github.com/thesandboxgame/contracts/issues"
},
"homepage": "https://github.com/thesandboxgame/contracts#readme",
"packageManager": "[email protected]"
}
20 changes: 20 additions & 0 deletions packages/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Smart-Contracts for [The Sandbox](https://www.sandbox.game) source code workspaces

This directory contains the source code used by [The Sandbox](https://www.sandbox.game)

Each workspace can use any tool needed for development, but, it must have at least one the test npm script to run tests

We recommend:

- hardhat
- hardhat-toolbox
- typescript
- eslint
- prettier
- solcover
- solhint
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and let's say that yarn workspace is required


# Deploy

Each workspace must export via nmp the solidity source code then we import the source code from different places in the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

npm

deploy workspace that manage the deployment to our different environments.
Loading