or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
farming token model research solana specific
How to assign MRN tokens to mSOL token holders?
Keep track of all mSOL token addresses
Allow users to "prove" (provide blockchain data to the smart contract) that they own mSOL => this could create MRN token account + add user to array
- features
- interactive from user side, non-interactive from our side
- problematic calculation mechanism of MRN rewards, if mSOL in the user account changes due to rewards / transfers, calculation is difficult potentially unbound
Create "staking governance program"
mSOL token mechanism - How to do rewards accrual
Treasury
Reserve mechanism
definitions
reserve 0 => R0
reserve 1 => R1
reserve 2 => R2
Proposed solution 1 (Roman's idea, please correct this text if I misunderstood you)
R0 would be the first line of defence, if there is not enough funds here to pay for withdrawal, user would draw funds from R1. Is R2 even necessary in this case?
R1
R2
Linear price mechanism
Definitions:
the buffer for storing SOL tokens between depositing by user and delegating to validator at the end of epoch. May be used for withdrawals for preventing unnecesarry unstaking and paying wathdrawal immediately.
total amount of SOL tokens stored in the all stake accounts controlled by instance of marinade.finance program. It includes delegated tokens, waring up and cooling down tokens and stake account rent tokens.
0 between epoch start and completion of update process. Total amount of SOL tokens gathered during update process from the stake accounts.
(<staking total> + <reserve amount> - <total epoch reward value> * (<slots per epoch> - <current epoch slot index>)/<slots per epoch>) / <total mSOL supply>
Procedures:
procedure runned by the admin at the end of each epoch. Moves reserve SOL tokens to the stake accounts and starting delegation process. All moved tokens become warming up stake tokens, thats why delegated amount of SOLs will be added to the staking total value as result of this operation.
procedure running by the admin at the begining of each epoch. Collects all staking rewards into reserve for using it in the next delegate reserve process at the end of this epoch or paying withdrawals during this epoch. In result of this operation reserve amount instantly grows by total epoch reward value but stake total remains the same because rewards are not included in the stake total calculation. However update recalculates stake total for handling situations where some validators was punished by the system and some part of SOL tokens was lost from the stake accounts under marinade.finance control. In such case difference between previous stake total and current stake total will be subtructed from the total epoch reward value to compensate staking total loss for the mSOL token price calcuation. If difference will be bigger than total epoch reward value then it will be set to 0 and price of mSOL token imediately becomes lower and remains constant during this epoch.