diff --git a/README.md b/README.md index 3fc35f5..c8be88d 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,4 @@ -

Token vesting

-
-

- -

-

- - - -

- +

Token staking


@@ -17,59 +7,30 @@
-
-

Table of contents

-
- -1. [Program ID](#program-id) -2. [Audit](#audit) -3. [UI](#ui) -4. [Overview](#overview) -5. [Structure](#structure) -

Program ID


-- mainnet: `CChTq6PthWU82YZkbveA3WDf7s97BWhBK4Vx9bmsT743` -- devnet: `DLxB9dSQtA4WJ49hWFhxqiQkD9v6m67Yfk9voxpxrBs4` +- mainnet: `---TBD---` +- devnet: `3F15CLnQjHqMCHLn2g7vuDULiRuJDiEMSZQXMoVVUGtA`

Audit


-This code has been audited by Kudelski ✅ +This code has been audited ✅ -- Audit report: [Bonfida Token Vesting Report](/audit/Bonfida_SecurityAssessment_Vesting_Final050521.pdf) - -
- -

UI

-
- -The [Bonfida Token Vesting UI](https://vesting.bonfida.org) can be used to unlock tokens. The UI **only** works for vesting accounts using the mainnet deployment `CChTq6PthWU82YZkbveA3WDf7s97BWhBK4Vx9bmsT743` +- Forked codebase by Kudelski: [Bonfida Token Vesting Report](/audit/Bonfida_SecurityAssessment_Vesting_Final050521.pdf) +- Modified codebase: `---TBD---`

Overview


-- Simple vesting contract (SVC) that allows you to deposit X SPL tokens that are unlocked to a specified public key at a certain block height/ slot. -- Unlocking works by pushing a permissionless crank on the contract that moves the tokens to the pre-specified address -- Token Address should be derived from https://spl.solana.com/associated-token-account -- 'Vesting Schedule contract' - A contract containing an array of the SVC's that can be used to develop arbitrary- vesting schedules. -- Tooling to easily setup vesting schedule contracts -- Recipient address should be modifiable by the owner of the current recipient key -- Implementation should be a rust spl compatible program, plus client side javascript bindings that include a CLI- interface. Rust program should be unit tested and fuzzed. - -
- -

Structure

-
- -- `js` : JavaScript binding to interact with on-chain token vesting contract -- `program` : The BPF compatible token vesting on-chain program/smart contract - -![diagram](assets/structure.png) +- The codebase is a modified fork of the Bonfida Token Vesting program, into a Staking program. +- The staking contract allows you to deposit X SPL tokens that will get unlocked at a certain block height/slot. +- Allows a pre-defined list of possible time periods for staking: 0 for "unlocked", 3 mth, 6, 9, 12. +- On "unlocked" stakes, there is a 7 day withdrawal period since the user initializes the withdrawal.