test-streamflow
v1.2.1
Published
## PDA Design (schema): 1. 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 toke
Downloads
14
Readme
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
.