diff --git a/.gitignore b/.gitignore
index d786724..7a3f4dc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,2 @@
.DS_Store
-.vscode/settings.json
-.vscode/settings.json
-smart-storage-unit/mprocs.log
-smart-turret/mprocs.log
-smart-gate/mprocs.log
-smart-turret/packages/contracts/.env
+.vscode/settings.json
\ No newline at end of file
diff --git a/GPC.txt b/GPC.txt
deleted file mode 100644
index e281335..0000000
--- a/GPC.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-## General Purpose Circuits (GPC)
-
-GPC (General Purpose Circuits) is a technology by [0xPARC](https://0xparc.org/) for the POD (Proof-Carrying Data) standard.
-
-**Background: Zero-Knowledge Proof Circuits**
-In zero-knowledge proofs (ZKPs), a "circuit" is essentially a specialized program. It encodes the specific rules and computations that a piece of secret data must satisfy. A prover uses the circuit to generate a proof that they possess data meeting these rules, without revealing the actual data itself.
-
-**Problem:** Traditionally, creating these custom ZK proof circuits for every new set of rules is difficult and time-consuming.
-
-**GPC Solution:** GPC allows generating many different proofs using *configurable*, pre-existing circuits, avoiding the need to build new ones from scratch. This makes working with proofs faster and more flexible.
-
-**Efficiency:** Generating proofs costs resources, especially with larger circuits. The GPC compiler automatically chooses the smallest suitable circuit from a family to balance proof requirements and efficiency.
\ No newline at end of file
diff --git a/README.md b/README.md
index c7555cf..fa6f72a 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@
## Welcome to EVE Frontier Building!
-Welcome, this repository contains guides and examples to get started building on [EVE Frontier](https://evefrontier.com/en). For more information, you can visit https://docs.evefrontier.com/.
+Welcome, this repository contains guides and examples to get started building on [EVE Frontier](https://evefrontier.com/en). For more information, you can visit [docs.evefrontier.com](https://docs.evefrontier.com/).
To start building, follow the steps below to setup your local development tools and environment. If you already have the tools, make sure they are the correct version as otherwise you may have difficulties running the examples and building.
@@ -19,7 +19,8 @@ To start building, follow the steps below to setup your local development tools
1. [Installing general tools](#step-1-installing-general-tools)
- [Installing Git](#installing-git)
- - [Installing Node Version Manager](#installing-node-version-manager)
+ - [Installing NVM (Node Version Manager)](#installing-node-version-manager)
+ - [Installing Node.JS](#installing-node)
- [Installing PNPM](#installing-pnpm)
- [Installing Foundry + Forge](#installing-foundry--forge)
2. [Setting up your environment](#step-2-setting-up-your-environment)
@@ -30,7 +31,7 @@ To start building, follow the steps below to setup your local development tools
---
### Step 1: Installing general tools
-Before you get started you need to either install, or make sure you have the required tools. Install these tools for Linux, if you use a different OS then visit [Tools Setup](https://docs.evefrontier.com/Tools) and follow the guide for your operating system.
+Before you get started you need to either install, or make sure you have the required tools. This guide is for Linux / WSL, if you use a different OS then visit [Tools Setup](https://docs.evefrontier.com/Tools) and follow the guide for your operating system.
#### Installing Git
Install Git through [Installing Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git).
@@ -40,7 +41,7 @@ To confirm Git has been installed run:
git --version
```
-#### Installing Node Version Manager
+#### Installing NVM (Node Version Manager)
Install NVM using this command:
```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && source ~/.bashrc
@@ -58,7 +59,7 @@ Install PNPM, which is used as a more efficient version of NPM with:
npm install -g pnpm
```
-### Installing Foundry + Forge
+#### Installing Foundry + Forge
Install foundry and restart the shell with:
```bash
curl -L https://foundry.paradigm.xyz | bash && source ~/.bashrc
diff --git a/pods/readme.md b/pods/readme.md
index 4c9ae32..b6a8298 100644
--- a/pods/readme.md
+++ b/pods/readme.md
@@ -1 +1,2 @@
+# PODs
For a guide on PODs and how to use these tools please visit https://docs.evefrontier.com/pods
\ No newline at end of file
diff --git a/readme-imgs/deploy.png b/readme-imgs/deploy.png
index e6d6136..50f8316 100644
Binary files a/readme-imgs/deploy.png and b/readme-imgs/deploy.png differ
diff --git a/readme-imgs/evefrontier.png b/readme-imgs/evefrontier.png
index 38d6772..c768092 100644
Binary files a/readme-imgs/evefrontier.png and b/readme-imgs/evefrontier.png differ
diff --git a/readme-imgs/tests-ssu.png b/readme-imgs/tests-ssu.png
index 705c9a0..6fa81d0 100644
Binary files a/readme-imgs/tests-ssu.png and b/readme-imgs/tests-ssu.png differ
diff --git a/readme-imgs/world-address.png b/readme-imgs/world-address.png
deleted file mode 100644
index a2cc7a6..0000000
Binary files a/readme-imgs/world-address.png and /dev/null differ
diff --git a/sanitizeEnv.sh b/sanitizeEnv.sh
deleted file mode 100644
index dbd2904..0000000
--- a/sanitizeEnv.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-
-ENV_FILE=".env"
-WORLD_ADDRESS="0x8a791620dd6260079bf849dc5567adc3f2fdc318"
-CHAIN_ID="31337"
-RPC_URL="http://127.0.0.1:8545"
-PRIVATE_KEY="0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"
-
-#COLORS
-GREEN="\033[32m"
-YELLOW="\033[33m"
-RESET="\033[0m"
-
-function sanitize() {
- FILE_NAME=$1
- sed -i "s/^PRIVATE_KEY=.*/PRIVATE_KEY=$PRIVATE_KEY/" "$FILE_NAME"
- sed -i "s/^WORLD_ADDRESS=.*/WORLD_ADDRESS=$WORLD_ADDRESS #Local World Address/" "$FILE_NAME"
- sed -i "s/^CHAIN_ID=.*/CHAIN_ID=$CHAIN_ID #Local Chain ID/" "$FILE_NAME"
- sed -i "s|^RPC_URL=.*|RPC_URL=$RPC_URL #Forked Anvil Forked Anvil Local RPC Url|" "$FILE_NAME"
-
- printf "\n${GREEN}[SANITIZED]${RESET} file ${YELLOW}${FILE_NAME}${RESET}\n\n"
-}
-
-sanitize "smart-gate/packages/contracts/.env"
-sanitize "smart-storage-unit/packages/contracts/.env"
-sanitize "smart-turret/packages/contracts/.env"
\ No newline at end of file
diff --git a/smart-assembly-scaffold/.gitignore b/smart-assembly-scaffold/.gitignore
index 3a264ea..6e0b25e 100644
--- a/smart-assembly-scaffold/.gitignore
+++ b/smart-assembly-scaffold/.gitignore
@@ -11,10 +11,4 @@ node_modules
packages/contracts/worlds.json
packages/contracts/src/codegen
-# foundry artefacts
-mock-data/cache/
-mock-data/out/
-mock-data/broadcast/
-mock-data/cache/
-
mprocs.log
\ No newline at end of file
diff --git a/smart-gate/.gitignore b/smart-gate/.gitignore
index 3a264ea..6e0b25e 100644
--- a/smart-gate/.gitignore
+++ b/smart-gate/.gitignore
@@ -11,10 +11,4 @@ node_modules
packages/contracts/worlds.json
packages/contracts/src/codegen
-# foundry artefacts
-mock-data/cache/
-mock-data/out/
-mock-data/broadcast/
-mock-data/cache/
-
mprocs.log
\ No newline at end of file
diff --git a/smart-gate/packages/contracts/.gitignore b/smart-gate/packages/contracts/.gitignore
index 53b9249..29c3b85 100644
--- a/smart-gate/packages/contracts/.gitignore
+++ b/smart-gate/packages/contracts/.gitignore
@@ -4,8 +4,7 @@ node_modules/
bindings/
artifacts/
broadcast/
+.env
# Ignore MUD deploy artifacts
-deploys/**/*.json
-
-.env
\ No newline at end of file
+deploys/**/*.json
\ No newline at end of file
diff --git a/smart-gate/readme.md b/smart-gate/readme.md
index cab5240..e83b0e6 100644
--- a/smart-gate/readme.md
+++ b/smart-gate/readme.md
@@ -108,7 +108,7 @@ pnpm test
```
This will run a series of pre-defined tests, and should display the results like:
-![../readme-imgs/tests-gate.png]
+
## Deployment To The Game (Stillness)
To deploy the example to the game server which is named Stillness, follow the below steps.
@@ -217,9 +217,7 @@ pnpm run deploy:pyrope
Once the deployment is successful, you'll see a screen similar to the one below.
-
-

-
+
## Configuring and Testing the Game Contracts (Stillness)
@@ -252,7 +250,7 @@ For Stillness, the Smart Gate ID is available once you have deployed an Smart Ga
Now set the ALLOWED_TRIBE_ID variable.
-1. Retrieve your character address from searching your username here: [Smart Characters World API](https://world-api-stillness.live.tech.evefrontier.com/smartcharacters)
+1. Retrieve your character address from searching your username here: [Smart Characters World API](https://world-api-stillness.live.tech.evefrontier.com/v2/smartcharacters)
2. Use this link: https://world-api-stillness.live.tech.evefrontier.com/v2/smartcharacters/ADDRESS and replace **"ADDRESS"** with the address from the previous step.
diff --git a/smart-storage-unit/.gitignore b/smart-storage-unit/.gitignore
index 386aaff..6e0b25e 100644
--- a/smart-storage-unit/.gitignore
+++ b/smart-storage-unit/.gitignore
@@ -11,8 +11,4 @@ node_modules
packages/contracts/worlds.json
packages/contracts/src/codegen
-# foundry artefacts
-mock-data/cache/
-mock-data/out/
-mock-data/broadcast/
-mock-data/cache/
+mprocs.log
\ No newline at end of file
diff --git a/smart-storage-unit/packages/contracts/.gitignore b/smart-storage-unit/packages/contracts/.gitignore
index f964f20..29c3b85 100644
--- a/smart-storage-unit/packages/contracts/.gitignore
+++ b/smart-storage-unit/packages/contracts/.gitignore
@@ -7,6 +7,4 @@ broadcast/
.env
# Ignore MUD deploy artifacts
-deploys/**/*.json
-
-packages/contracts/.env
\ No newline at end of file
+deploys/**/*.json
\ No newline at end of file
diff --git a/smart-storage-unit/pnpm-lock.yaml b/smart-storage-unit/pnpm-lock.yaml
index e426b2c..12c6a99 100644
--- a/smart-storage-unit/pnpm-lock.yaml
+++ b/smart-storage-unit/pnpm-lock.yaml
@@ -7,6 +7,8 @@ settings:
overrides:
better-sqlite3: ^9.4.3
'@eveworld/smart-object-framework-v2': 0.1.2
+ eslint-config-prettier: 10.1.8
+ eslint-plugin-prettier: 4.2.5
importers:
diff --git a/smart-storage-unit/readme.md b/smart-storage-unit/readme.md
index 43c893c..83b3d46 100644
--- a/smart-storage-unit/readme.md
+++ b/smart-storage-unit/readme.md
@@ -98,22 +98,29 @@ pnpm mock-data
> This will create the on-chain SSU, fuel it and bring it online.
### Step 4: Configure SSU
-To configure which items should be traded and the ratio's to trade for run:
+To configure which items should be traded and the ratios to trade for run:
```bash
pnpm configure
```
> [!NOTE]
-> You can adjust the values for the SSU_ID, in and out item ID's and the ratios in the .env file as needed, though they are optional to change for local development.
+> You can adjust the values for the SSU_ID, in and out item IDs and the ratios in the .env file as needed, though they are optional to change for local development.
### Step 5: Test The SSU (Optional)
-To test the SSU, execute the following command which will run a series of pre-defined tests to ensure the contracts are working:
-
+To test the behavior of the SSU contracts, you can use this command to execute a trade:
```bash
pnpm execute
```
+You can also test the Smart Storage Unit using the unit tests with:
+```bash
+pnpm test
+```
+
+This will run a series of pre-defined tests, and should display the results like:
+
+
## Deployment to The Game (Stillness)
To deploy the example to the game server which is named Stillness, follow the below steps.
@@ -164,7 +171,7 @@ A namespace is a unique identifier for deploying your smart contracts. Once you
Change the namespace from test to your own custom namespace.
> [!TIP]
-> Consider using your username or corporation name as your namespace.
+> Consider using your username or Tribe name as your namespace.
First, edit **packages/contracts/mud.config.ts** to include your new namespace:
@@ -221,9 +228,7 @@ pnpm run deploy:pyrope
Once the deployment is successful, you'll see a screen similar to the one below.
-
-

-
+
## Configuring and Testing the Game Contracts (Stillness)
@@ -239,7 +244,7 @@ TEST_PLAYER_PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d
```
> [!NOTE]
-> This is only for testing, and an example not requiring this is on it's way.
+> This is only for testing, and an example not requiring this is on its way.
#### Step 1.2: Smart Storage Unit ID (SSU ID)
@@ -259,9 +264,9 @@ For Stillness, the Smart Storage Unit ID (SSU ID) is available once you have dep
SSU_ID=34818344039668088032259299209624217066809194721387714788472158182502870248994
```
-#### Step 1.3: Item ID's
+#### Step 1.3: Item IDs
-To retrieve the Item ID's you can use https://world-api-stillness.live.tech.evefrontier.com/v2/types and then search for the item name.
+To retrieve the Item IDs you can use https://world-api-stillness.live.tech.evefrontier.com/v2/types and then search for the item name.
You can use the "smartItemId" as the Item ID.
@@ -275,7 +280,7 @@ You can use the "smartItemId" as the Item ID.
```
-Configure the Item ID's in the .env file.
+Configure the Item IDs in the .env file.
```bash
#Item Bought
@@ -307,14 +312,14 @@ pnpm set-config
```
### Step 2: Configure SSU
-To configure which items should be traded and the ratio's to trade for run:
+To configure which items should be traded and the ratios to trade for run:
```bash
pnpm configure
```
> [!NOTE]
-> You can adjust the values for the SSU_ID, in and out item ID's and the ratios in the .env file as needed.
+> You can adjust the values for the SSU_ID, in and out item IDs and the ratios in the .env file as needed.
> [!IMPORTANT]
> Trades are not automatic, which means that you need to run the `pnpm execute` command or call the execute smart contract function on the SSU to trade items.
diff --git a/smart-turret/.gitignore b/smart-turret/.gitignore
index 5edf52d..6e0b25e 100644
--- a/smart-turret/.gitignore
+++ b/smart-turret/.gitignore
@@ -11,10 +11,4 @@ node_modules
packages/contracts/worlds.json
packages/contracts/src/codegen
-# foundry artefacts
-mock-data/cache/
-mock-data/out/
-mock-data/broadcast/
-mock-data/cache/
-
-packages/contracts/.env
\ No newline at end of file
+mprocs.log
\ No newline at end of file
diff --git a/smart-turret/packages/contracts/.gitignore b/smart-turret/packages/contracts/.gitignore
index 868d6b2..b422c97 100644
--- a/smart-turret/packages/contracts/.gitignore
+++ b/smart-turret/packages/contracts/.gitignore
@@ -4,6 +4,7 @@ node_modules/
bindings/
artifacts/
broadcast/
+.env
# Ignore MUD deploy artifacts
deploys/**/*.json
diff --git a/smart-turret/readme.md b/smart-turret/readme.md
index 31f9876..20e2556 100644
--- a/smart-turret/readme.md
+++ b/smart-turret/readme.md
@@ -72,9 +72,7 @@ Then, run the following commands:
Once the contracts have been deployed you should see the below message. When changing the contracts it will automatically re-deploy them.
-
-

-
+
### Step 1: Mock data for the existing world **(Local Development Only)**
@@ -104,7 +102,7 @@ pnpm configure
> You can adjust the values of the Smart Turret ID and allowed tribe ID in the .env file as needed, though they are optional.
### Step 3: Test The Smart Turret (Optional)
-To test the custom Smart Turret functionality you can use the follow command:
+To test the custom Smart Turret functionality you can use:
```bash
pnpm execute
@@ -116,9 +114,9 @@ pnpm test
```
This will run a series of pre-defined tests, and should display the results like:
-![../readme-imgs/tests-turret.png]
+
-## Deployment To The Game (Stillness)
+## Deployment To The Game (Stillness)
To deploy the example to the game server which is named Stillness, follow the below steps.
### Step 1: Setup your Environment
@@ -133,7 +131,7 @@ Then install the Solidity dependencies for the contracts:
pnpm install
```
-Then, if you haven't already copy the .envsample file to a .env file with:
+Then, if you haven't already, copy the .envsample file to a .env file with:
```bash
cp .envsample .env
```
@@ -225,9 +223,9 @@ pnpm run deploy:pyrope
Once the deployment is successful, you'll see a screen similar to the one below.
-
-

-
+
+
+
## Configuring and Testing the Game Contracts (Stillness)
@@ -236,7 +234,7 @@ Next, replace the following values in the [.env](./packages/contracts/.env) file
#### Step 1.1: Smart Turret ID (Turret ID)
-For Stillness, the Smart Turret ID is available once you have deployed an Smart Turret in the game.
+For Stillness, the Smart Turret ID is available once you have deployed a Smart Turret in the game.
1. Right click your Smart Turret and press Interact
@@ -256,9 +254,9 @@ For Stillness, the Smart Turret ID is available once you have deployed an Smart
Now set the `ALLOWED_TRIBE_ID` variable.
-1. Retrieve your character address from searching your username here: [Smart Characters World API](https://world-api-stillness.live.tech.evefrontier.com/smartcharacters)
+1. Retrieve your character address from searching your username here: [Smart Characters World API](https://world-api-stillness.live.tech.evefrontier.com/v2/smartcharacters)
-2. Use this link: https://world-api-stillness.live.tech.evefrontier.com/smartcharacters/ADDRESS and replace **"ADDRESS"** with the address from the previous step.
+2. Use this link: https://world-api-stillness.live.tech.evefrontier.com/v2/smartcharacters/ADDRESS and replace **"ADDRESS"** with the address from the previous step.
3. Use the **"tribeId"** value which should be in: