You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Smart contracts for Status Network's Karma reputation system, which enables gasless transactions.
9
4
10
-
## 🧭 Overview
5
+
## Overview
11
6
12
-
The **Staking Reward Streamer Protocol** enables secure token staking with dynamic reward calculation on Ethereum. Built with modularity and upgradability in mind, the system includes core components to manage stake deposits, reward calculations, time-based locking, and contract migration through user consent.
7
+
This repository contains the core smart contracts that power the Status Network's reputation and reward system. The system is built with modularity and upgradability in mind.
13
8
14
-
---
9
+
### Main Components
15
10
16
-
## 🧩 Core Contracts
11
+
-**Karma Token**: An ERC20 reputation token used throughout the Status Network ecosystem. Karma enables free transactions and access to network features.
12
+
-**Karma NFT**: A non-transferable ERC721 token that visually represents an account's Karma level.
13
+
-**Reward Distributors**: Contracts that implement custom reward distribution logic, including the staking reward distributor and simple distributor variants.
14
+
-**Staking System**: Allows users to stake SNT tokens to earn Karma rewards.
15
+
-**Karma Airdrop**: Merkle tree-based airdrop mechanism for distributing Karma to accounts.
17
16
18
-
### 🛠️ `StakeManager`
17
+
For a comprehensive overview of the system architecture, see [System Overview](docs/system-overview.md).
19
18
20
-
- Handles staking logic, tracks stakes and reward epochs.
21
-
- Calculates APY via **Multiplier Points**, which increase over time.
22
-
- Validates vaults using codehash verification for added safety.
23
-
- Upgradeable via proxy; users can opt out of migrations.
19
+
## Documentation
24
20
25
-
### 🔐 `StakeVault`
21
+
Detailed documentation is available in the [`docs`](docs) folder:
26
22
27
-
- A vault owned by the user, used to store and manage staked tokens.
28
-
- Interacts directly with `StakeManager` for staking and unstaking operations.
29
-
- Ensures only the owner can execute critical actions.
30
-
- Verifies contract code via codehash to ensure safety.
23
+
-[System Overview](docs/system-overview.md) - Architecture and component interactions
24
+
-[Karma Token](docs/karma.md) - Token mechanics and features
25
+
-[Staking Reward Distributor](docs/staking-reward-distributor/overview.md) - How staking and rewards work
26
+
-[Reward Distributors](docs/reward-distributors.md) - Custom reward distribution logic
27
+
-[Deployment Guide](docs/deployment.md) - How to deploy the contracts
28
+
-[Security](SECURITY.md) - Security considerations and audit information
31
29
32
-
---
30
+
## Getting Started
33
31
34
-
##✨ Features
32
+
### Prerequisites
35
33
36
-
-**Secure, user-owned staking vaults**
37
-
-**Dynamic APY via Multiplier Points**
38
-
-**Stake locking to boost rewards**
39
-
-**ERC20-compatible (via OpenZeppelin)**
40
-
-**Proxy upgradeability with opt-in/opt-out support**
41
-
-**Epoch-based reward streaming**
34
+
-[Foundry](https://getfoundry.sh/) - Ethereum development toolkit
35
+
-[pnpm](https://pnpm.io/) - Package manager
42
36
43
-
---
37
+
### Installation
44
38
45
-
## 🚀 Getting Started
46
-
47
-
### 📦 Install Dependencies
48
-
49
-
```bash
39
+
```sh
50
40
pnpm install
51
41
```
52
42
53
-
---
54
-
55
-
## ⚙️ Usage
56
-
57
-
### 📄 Deployment Flow
58
-
59
-
1.**Deploy `StakeManager`**
60
-
2.**Deploy a sample `StakeVault` (e.g., on a devnet or testnet)**
0 commit comments