State Helper Functions
Contents
State Helper Functions¶
Get Values¶
These functions get the current state variable value.
get_autocompounding_remaining_rewards(state, tkn_name)
get_autocompounding_start_time(state, tkn_name)
get_avg_tkn_trading_liquidity(state, tkn_name)
get_bnbnt_rate(state, tkn_name)
get_bnt_bootstrap_liquidity(state, tkn_name)
get_bnt_funding_amt(state, tkn_name)
get_bnt_funding_limit(state, tkn_name)
get_bnt_min_liquidity(state, tkn_name)
get_bnt_remaining_funding(state, tkn_name)
get_bnt_trading_liquidity(state, tkn_name)
get_bnt_virtual_balance(state, tkn_name)
get_description(state, tkn_name)
get_distribution_type(state, tkn_name)
get_ema_last_updated(state, tkn_name)
get_ema_rate(state, tkn_name)
get_external_protection_description(state, tkn_name)
get_external_protection_vault(state, tkn_name)
get_flat_distribution_rate_per_second(state, tkn_name)
get_half_life_seconds(state, tkn_name)
get_inv_spot_rate(state, tkn_name)
get_is_ema_update_allowed(state, tkn_name)
get_is_price_stable(state, tkn_name)
get_is_trading_enabled(state, tkn_name)
get_json_virtual_balances(state, tkn_name)
get_max_bnt_deposit(state, tkn_name)
get_network_fee(state, tkn_name)
get_pooltoken_balance(state, tkn_name)
get_pooltoken_description(state, tkn_name)
get_pooltoken_name(state, tkn_name)
get_prev_token_amt_distributed(state, tkn_name)
get_prices(state, tkn_name)
get_protocol_wallet_balance(state, tkn_name)
get_protocol_wallet_description(state, tkn_name)
get_rate_report(state, tkn_name)
get_remaining_standard_rewards(state, tkn_name)
get_spot_rate(state, tkn_name)
get_staked_balance(state, tkn_name)
get_staking_description(state, tkn_name)
get_standard_program(state, tkn_name)
get_standard_reward_end_time(state, tkn_name)
get_standard_reward_last_update_time(state, tkn_name)
get_standard_reward_per_token(state, tkn_name)
get_standard_reward_providers(state, tkn_name)
get_standard_reward_rate(state, tkn_name)
get_standard_reward_start_time(state, tkn_name)
get_standard_reward_tkn_name(state, tkn_name)
get_timestamp(state, tkn_name)
get_tkn_bootstrap_liquidity(state, tkn_name)
get_tkn_excess(state, tkn_name)
get_tkn_excess_bnt_equivalence(state, tkn_name)
get_tkn_price(state, tkn_name)
get_tkn_trading_liquidity(state, tkn_name)
get_tkn_virtual_balance(state, tkn_name)
get_total_bnt_trading_liquidity(state, tkn_name)
get_total_holdings(state, user_name, tkn_name)
get_total_rewards(state, tkn_name)
get_total_standard_rewards_staked(state, tkn_name)
get_trade_inputs(state, tkn_name)
get_trading_fee(state, tkn_name)
get_trading_liquidity_description(state, tkn_name)
get_unclaimed_rewards(state, tkn_name)
get_user_balance(state, user_name, tkn_name)
get_user_pending_rewards_staked_balance(state, user_name, tkn_name)
get_user_pending_standard_rewards(state, user_name, tkn_name)
get_user_pending_withdrawals(state, user_name, tkn_name)
get_user_reward_per_token_paid(state, user_name, tkn_name)
get_user_wallet_tokens(state, user_name, tkn_name)
get_usernames(state, tkn_name)
get_vault_balance(state, tkn_name)
get_vault_description(state, tkn_name)
get_vault_tvl(state, tkn_name)
get_virtual_rate(state, tkn_name)
get_vortex_balance(state)
get_vortex_description(state, tkn_name)
get_whitelisted_tokens(state, tkn_name)
get_withdrawal_id(state, tkn_name)
Example¶
v3 = BancorDapp()
state = v3.get_state()
user_name = "Alice"
tkn_name = "bnt"
balance = get_user_balance(state, user_name, tkn_name)
Note: The operation is similar for pooltokens and vbnt tokens.
pooltoken_name = f"bn{tkn_name}"
balance = get_user_balance(state, user_name, pooltoken_name)
Modify State¶
The following methods provide an interface to modify State
.
Note: For reason of readability and clarity, the following operations are handled by methods of the State
class, whereas the above get operations above are handled by functions. Thus, we include the state.
prefix for each method below, where typing is assumed state: State
Set Values¶
state.set_autocompounding_remaining_rewards(tkn_name, value)
state.set_bnt_funding_amt(tkn_name, value)
state.set_bnt_funding_limit(tkn_name, value)
state.set_bnt_trading_liquidity(tkn_name, value)
state.set_ema_rate(tkn_name, value)
state.set_initial_rates(tkn_name, value)
state.set_inv_spot_rate(tkn_name, value)
state.set_is_trading_enabled(tkn_name, value)
state.set_network_fee(tkn_name, value)
state.set_pending_withdrawals_status(tkn_name, value)
state.set_pooltoken_balance(tkn_name, value)
state.set_prev_token_amt_distributed(tkn_name, value)
state.set_program_is_active(tkn_name, value)
state.set_protocol_wallet_balance(tkn_name, value)
state.set_provider_pending_standard_rewards(tkn_name, value)
state.set_provider_reward_per_token_paid(tkn_name, value)
state.set_spot_rate(tkn_name, value)
state.set_staked_balance(tkn_name, value)
state.set_standard_program_end_time(tkn_name, value)
state.set_standard_program_is_active(tkn_name, value)
state.set_standard_remaining_rewards(tkn_name, value)
state.set_standard_rewards_last_update_time(tkn_name, value)
state.set_standard_rewards_per_token(tkn_name, value)
state.set_standard_rewards_vault_balance(tkn_name, value)
state.set_tkn_trading_liquidity(tkn_name, value)
state.set_token_amt_to_distribute(tkn_name, value)
state.set_trading_fee(tkn_name, value)
state.set_user_balance(user_name, tkn_name, value)
state.set_user_pending_standard_rewards(user_name, tkn_name, value)
state.set_user_standard_rewards_stakes(user_name, tkn_name, value)
state.set_vault_balance(tkn_name, value)
state.set_vbnt_burned(tkn_name, value)
state.set_vortex_balance(tkn_name, value)
state.set_withdrawal_fee(tkn_name, value)
Example¶
v3 = BancorDapp()
state = v3.get_state()
user_name = "Alice"
tkn_name = "bnt"
value = 100
state.set_user_balance(user_name, tkn_name, value)
Note: The operation is similar for pooltokens and vbnt tokens.
pooltoken_name = f"bn{tkn_name}"
state.set_user_balance(user_name, pooltoken_name, value)
Decrease Values¶
state.decrease_bnt_funding_amt(tkn_name, value)
state.decrease_bnt_trading_liquidity(tkn_name, value)
state.decrease_external_protection_balance(tkn_name, value)
state.decrease_pooltoken_balance(tkn_name, value)
state.decrease_protocol_wallet_balance(tkn_name, value)
state.decrease_staked_balance(tkn_name, value)
state.decrease_standard_reward_program_stakes(tkn_name, value)
state.decrease_standard_rewards_vault_balance(tkn_name, value)
state.decrease_tkn_trading_liquidity(tkn_name, value)
state.decrease_user_balance(user_name, tkn_name, value)
state.decrease_user_standard_rewards_stakes(user_name, tkn_name, value)
state.decrease_vault_balance(tkn_name, value)
state.decrease_vbnt_burned(tkn_name, value)
state.decrease_vortex_balance(tkn_name, value)
Example¶
v3 = BancorDapp()
state = v3.get_state()
user_name = "Alice"
tkn_name = "bnt"
# Amount to be subtracted from the current state
value = 100
state.decrease_user_balance(user_name, tkn_name, value)
Note: The operation is similar for pooltokens and vbnt tokens.
pooltoken_name = f"bn{tkn_name}"
state.decrease_user_balance(user_name, pooltoken_name, value)
Increase Values¶
state.increase_bnt_funding_amt(tkn_name, value)
state.increase_bnt_trading_liquidity(tkn_name, value)
state.increase_external_protection_balance(tkn_name, value)
state.increase_pooltoken_balance(tkn_name, value)
state.increase_protocol_wallet_balance(tkn_name, value)
state.increase_staked_balance(tkn_name, value)
state.increase_standard_reward_program_stakes(tkn_name, value)
state.increase_standard_rewards_vault_balance(tkn_name, value)
state.increase_tkn_trading_liquidity(tkn_name, value)
state.increase_user_balance(user_name, tkn_name, value)
state.increase_user_standard_rewards_stakes(user_name, tkn_name, value)
state.increase_vault_balance(tkn_name, value)
state.increase_vbnt_burned(tkn_name, value)
state.increase_vortex_balance(tkn_name, value)
Example¶
v3 = BancorDapp()
state = v3.get_state()
user_name = "Alice"
tkn_name = "bnt"
# Amount to be added to the current balance
value = 100
state.increase_user_balance(user_name, tkn_name, value)
Note: The operation is similar for pooltokens and vbnt tokens.
pooltoken_name = f"bn{tkn_name}"
state.increase_user_balance(user_name, pooltoken_name, value)