HotWalletSyncModel#

tradeexecutor.ethereum.hot_wallet_sync_model.HotWalletSyncModel Python class in Trading Strategy framework.

class HotWalletSyncModel[source]#

Bases: SyncModel

V0 prototype version of sync model, only for.

Warning

TODO: This model is unfinished and needs to be migrated to event based.

__init__(web3, hot_wallet)[source]#
Parameters:

Methods

__init__(web3, hot_wallet)

create_transaction_builder()

Creates a transaction builder instance to make trades against this asset management model.

fetch_onchain_balances(assets[, filter_zero])

Read the on-chain asset details.

get_hot_wallet()

Get the vault address we are using.

get_token_storage_address()

Get the address where tokens are stored.

get_vault_address()

Get the vault address we are using.

init()

is_ready_for_live_trading(state)

Check that the state and sync model is ready for live trading.

resync_nonce()

Re-read hot wallet nonce before trade execution.

setup_all(state, supported_reserves)

Make sure we have everything set up and initial test balance synced.

sync_initial(state, **kwargs)

Set u[ initial sync details.

sync_treasury(strategy_cycle_ts, state[, ...])

Apply the balance sync before each strategy cycle.

__init__(web3, hot_wallet)[source]#
Parameters:
get_hot_wallet()[source]#

Get the vault address we are using.

Returns:

None if the executor is not using hot wallet (dummy, backtesting, etc.)

Return type:

Optional[HotWallet]

get_token_storage_address()[source]#

Get the address where tokens are stored.

Returns:

Vault address for enzyme, wallet address for hot wallet.

Return None for DummySyncModel e.g. in the case of unit and backtests.

Return type:

Optional[str]

resync_nonce()[source]#

Re-read hot wallet nonce before trade execution.

Ensures that if the private key is used outside the trade executor, we are not getting wrong nonce error when broadcasting the transaction.

sync_initial(state, **kwargs)[source]#

Set u[ initial sync details.

Parameters:

state (State) –

sync_treasury(strategy_cycle_ts, state, supported_reserves=None)[source]#

Apply the balance sync before each strategy cycle.

Parameters:
Return type:

List[BalanceUpdate]

create_transaction_builder()[source]#

Creates a transaction builder instance to make trades against this asset management model.

Only needed when trades are being executed.

Returns:

Depending on the asset management mode.

Return type:

HotWalletTransactionBuilder

setup_all(state, supported_reserves)[source]#

Make sure we have everything set up and initial test balance synced.

A shortcut used in testing.

Parameters:
fetch_onchain_balances(assets, filter_zero=True)[source]#

Read the on-chain asset details.

  • Mark the block we are reading at the start

Parameters:
Return type:

Iterable[OnChainBalance]