staking¶
- class algofipy.staking.v2.staking.Staking(staking_client, rewards_manager_app_id, staking_config)¶
Bases:
object
- get_claim_txns(user, params=None)¶
Returns a
TransactionGroup
object representing a claim rewards group transaction against the algofi protocol. Sender claims accrued rewards from all rewards program.- Parameters:
user (
StakingUser
) – account for the senderparams – algod params
- Returns:
TransactionGroup
object representing a claim rewards group transaction.- Return type:
TransactionGroup
- get_stake_txns(user, b_asset_amount, params=None)¶
Returns a
TransactionGroup
object representing a stake group transaction against the algofi protocol. Sender adds bank asset amount to staking contract by sending them to the account address of the staking application.- Parameters:
user (
StakingUser
) – staking account for the senderb_asset_amount (int) – amount of bank asset to add to collateral
params – algod params
- Returns:
TransactionGroup
object representing an opt in group transaction of size 3- Return type:
TransactionGroup
- get_total_staked()¶
Returns the total staked amount.
- Returns:
Staked amount in base unit terms
- Return type:
int
- get_unstake_txns(user, b_asset_amount, params=None)¶
Returns a
TransactionGroup
object representing a unstake group transaction against the algofi protocol. Sender reclaims bank asset by unstaking.- Parameters:
user (
StakingUser
) – staking account for the senderb_asset_amount (int) – amount of bank asset to add to collateral
params – algod params
- Returns:
TransactionGroup
object representing an opt in group transaction of size 2- Return type:
TransactionGroup
- get_user_close_out_txns(user, params=None)¶
Returns a
TransactionGroup
object representing a staking close out transaction against the algofi protocol.- Parameters:
user (
StakingUser
) – staking account for the sender- Returns:
TransactionGroup
object representing an opt in group transaction of size 1- Return type:
TransactionGroup
- get_user_opt_in_txns(user, params=None)¶
Returns a
TransactionGroup
object representing a staking opt in transaction against the algofi protocol.- Parameters:
user (
StakingUser
) – staking account for the sender- Returns:
TransactionGroup
object representing an opt in group transaction of size 1- Return type:
TransactionGroup
- load_state(block=None)¶
Loads staking state from the blockchain
- Parameters:
block (int, optional) – block at which to query staking state
- Return type:
None