From 819251b453958f8971c9df41e9d86419361fb297 Mon Sep 17 00:00:00 2001 From: guibescos <59208140+guibescos@users.noreply.github.com> Date: Tue, 3 Sep 2024 15:44:10 +0100 Subject: [PATCH] chore: update readme (#516) * go * go * update readme * readme * readme --- staking/README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/staking/README.md b/staking/README.md index 2e79b7b65..753cc50d8 100644 --- a/staking/README.md +++ b/staking/README.md @@ -1,6 +1,15 @@ # Staking Program -This repository contains the Staking Program. +This repository contains several programs that compose the $PYTH staking smart contract stack. The programs are: + +- Staking Program: This program is responsible for custodying the staked tokens and to track the state of staked tokens (for example which target they are staked to, whether they are active or in warmup or cooldown). There are currently two targets: integrity pool and governance. Additionally users staking to integrity pool have to choose a specific publisher to stake with. +- Integrity Pool: This program is responsible for distributing rewards to stakers that choose to stake their tokens to integrity pool based on the publisher they chose; it can also slash stakers. The Integrity Pool program reads the state of staked tokens from the Staking Program accounts, in order to distribute the rewards proportionally to each user's stake. Additionally users can only update their stake to integrity pool by calling the Integrity Pool Program which will CPI into the Staking Program. This differs from governance where users can stake and unstake directly from the Staking Program. +- Publisher Caps: This program is responsible for receiving Publisher Caps Messages from Wormhole. This messages are real-time metrics of the publishers that are consumed by the Integrity Pool program to compute each publisher's rewards. + +Additionally, the repo contains two small programs: + +- Wallet Tester: A program that can be used to test smart contract interaction with a wallet. +- Profile: A program that can be used to map a Solana wallet to wallets on other blockchain networks. ## Prerequisites