1.2.1 • Published 1 year ago
test-streamflow v1.2.1
Streamflow
PDA Design (schema):
lock_pool:
- base: Use init admin.
- admin: Contral pool init、pause and start.
- pending_admin: Use transfer admin
- bump: Verify PDA.
- interval: Contral user withdraw interval.
- mint: Crm or other token.
- token_account: Which transfer token to user.
- position_count: Self add one when init position.
- is_paused: Contral withdraw.
lock_position
- bump: Verify PDA.
- nft_mint: One nft can only init one position.
- lock_pool: Owner by which lock pool.
- start_time: Start time of unlock.
- end_time: End time of unlock.
- last_withdraw_time: User last time of withdraw.
- withdraw_quantity: Update when user withdraw.
- crm_quantity: Init when init position.
Instruction Design
initialize_pool
Accounts
- base: init admin seeds(signer)
- #[init, seeds="pool", base.key()] admin: lock pool admin (signer)
- PDA(lock_pool): record pool lock position info(signer、writable)
- mint
- token_account
- token_program
- associated_token_program
- system_program
- rent
Instruction data:
- interval: u64
initialize_lock_position
Accounts
- admin: pool admin,
- lock_pool
- nft_mint
- #[init, seed = "position", nft_mint] lock_position
- system_rogram
- rent
Instruction data:
- start_time: u64
- end_time: u64,
- crm_quantity: u64,
WithdrawUnlock
Accounts
- user: recipent (signer, writable),
- lock_pool
- lock_position
- nft_mint
- nft_token
- pool_crm_token
- user_crm_token
- token_program
None instruction data.
TransferAdmin
Accounts
- lock_pool
- admin
- next_admin
None instruction data.
AcceptAdmin
Accounts
- lock_pool
- pending_admin
None instruction data.
PauseWithdraw
Accounts
- admin
- lock_pool
None instruction data.
StartWithdraw
Accounts
- admin
- lock_pool
None instruction data.
CLI
Now streamflow program is deploy on https://api.devnet.rpcpool.com/2ee3d7c0b48f6c361a06459b1d77.
You should set your solana config before you use stream-cli in devnet.
CLI Introduce
Command | Intro |
---|---|
init-pool options | Initialize the lock pool |
init-lp options | currentTime < startTime < endTime |
withdraw-unlock options | Withdraw unlock |
transfer-admin options | Transfer lock pool's admin |
accept-admin options | Accept lock pool's new admin |
pause-withdraw options | Pause withdraw |
start-withdraw options | Start withdraw |
pool-detail options | View pool detail by lock pool key |
position-detail options | View position detail by lock position key |
You can view more by -h
.