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
Copy file name to clipboardExpand all lines: README.md
+59-8Lines changed: 59 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Talus Token Project
2
2
3
-
This repository contains the smart contracts for the Talus Token project on Sui blockchain, featuring a custom token and a decentralized faucet for token distribution.
3
+
This repository contains the smart contracts for the Talus Token project on Sui blockchain, featuring a custom token, a decentralized faucet for token distribution, a deposit pool for yield generation, and a reward pool for loyalty incentives.
4
4
5
5
## Prerequisites
6
6
@@ -13,8 +13,10 @@ This repository contains the smart contracts for the Talus Token project on Sui
13
13
14
14
```
15
15
talus-token/
16
-
├── talus/ # Talus token implementation
16
+
├── talus/ # US token (Coin)
17
17
├── faucet/ # Bi-directional faucet contract
18
+
├── loyalty/ # Loyalty token
19
+
├── deposit_pool/ # Deposit pool and reward pool contracts
18
20
└── deploy.sh # Deployment script
19
21
```
20
22
@@ -26,18 +28,66 @@ A custom token implementation on the Sui blockchain.
26
28
### Faucet Module
27
29
The faucet module implements a faucet that enables exchanging between target token (e.g. TALUS) and base token (e.g. SUI) at a configurable exchange rate. Key features include:
28
30
29
-
- Configurable exchange rate between two token for test net so the Sybil attack resistance is based on supply of base token
31
+
- Configurable exchange rate between two tokens for test net so the Sybil attack resistance is based on supply of base token
30
32
- Percentage-based withdrawal limits to prevent draining
31
33
- Ability to inject additional liquidity
32
34
- Simple interface for minting and refunding
33
35
36
+
### Deposit Pool Module
37
+
38
+
The deposit pool module allows users to deposit base tokens and earn loyalty tokens as rewards. Users can lock their tokens for different time periods with varying APY rates. Key features include:
39
+
40
+
- Multiple lock terms with configurable APY
41
+
- Early withdrawal support (configurable)
42
+
- Pending withdrawal period (optional)
43
+
- Admin-controlled reward pool integration
44
+
- Receipts for each deposit, enabling precise reward calculation
45
+
46
+
#### Usage
47
+
48
+
```move
49
+
// Initialize a deposit pool
50
+
let treasury_cap = // ... obtain Loyalty token treasury cap
The reward pool module manages reward pools and allows users to claim rewards by spending loyalty tokens. Pools can be refreshed with more rewards, and events are emitted for transparency.
68
+
69
+
#### Usage
70
+
71
+
```move
72
+
// Create a new reward pool
73
+
let reward_coin = // ... obtain reward tokens
74
+
let rate = 10; // 10 Loyalty tokens per reward token
0 commit comments