LagoonAutomatedDeployment

Documentation for eth_defi.lagoon.deployment.LagoonAutomatedDeployment Python class.

class LagoonAutomatedDeployment

Bases: object

Capture information of the lagoon automated deployment.

  • Have the deployment report for the users for diagnostics

Attributes summary

chain_id

vault

The deployed Lagoon vault, or LagoonSatelliteVault for satellite chains.

trading_strategy_module

asset_managers

valuation_manager

multisig_owners

deployer

block_number

parameters

vault_abi

Vault ABI file we use

safe_address

The Safe multisig address, stored explicitly so it is available even on satellite chains where there is no vault contract.

old_trading_strategy_module

In redeploy guard, the old module

beacon_proxy_factory

Address of beacon proxy factory

gas_used

How much ETH deployment used

safe_salt_nonce

Salt nonce used for deterministic Safe proxy deployment.

whitelisted_items

Items whitelisted on the guard during deployment.

asset_manager

Get the primary asset manager.

is_satellite

Whether this deployment is a satellite chain (Safe + guard only, no vault).

safe

Methods summary

__init__(chain_id, vault, ...[, ...])

as_json_friendly_dict()

Get JSON-serialisable deployment data.

format_whitelisted_items([indent])

Format whitelisted items as a human-readable string.

from_json_friendly_dict(web3, data)

Recreate deployment information from JSON data.

get_deployment_data()

Get JSON data describing the deployment.

is_asset_manager(address)

pformat()

Return pretty print of deployment info.

vault: Union[eth_defi.erc_4626.vault_protocol.lagoon.vault.LagoonVault, eth_defi.erc_4626.vault_protocol.lagoon.vault.LagoonSatelliteVault]

The deployed Lagoon vault, or LagoonSatelliteVault for satellite chains.

vault_abi: str

Vault ABI file we use

safe_address: eth_typing.evm.HexAddress

The Safe multisig address, stored explicitly so it is available even on satellite chains where there is no vault contract.

old_trading_strategy_module: Optional[web3.contract.contract.Contract]

In redeploy guard, the old module

beacon_proxy_factory: Optional[eth_typing.evm.HexAddress]

Address of beacon proxy factory

gas_used: Optional[decimal.Decimal]

How much ETH deployment used

safe_salt_nonce: Optional[int]

Salt nonce used for deterministic Safe proxy deployment.

Recorded so the deployment can be reproduced or debugged later. None when deployed without a deterministic address (e.g. from-scratch testnet).

whitelisted_items: tuple[eth_defi.erc_4626.vault_protocol.lagoon.deployment.WhitelistEntry, ...]

Items whitelisted on the guard during deployment.

property asset_manager: eth_typing.evm.HexAddress

Get the primary asset manager.

Kept for backwards compatibility with single-key deployments.

property is_satellite: bool

Whether this deployment is a satellite chain (Safe + guard only, no vault).

get_deployment_data()

Get JSON data describing the deployment.

Store all addresses etc.

Return type

dict

as_json_friendly_dict()

Get JSON-serialisable deployment data.

LagoonAutomatedDeployment contains live Web3 contract and vault objects that cannot be written to JSON directly. This method captures the deployment as plain JSON values, keeping enough addresses and parameters to reconstruct the deployment object with from_json_friendly_dict().

Returns

JSON-serialisable Lagoon deployment information.

Return type

dict[str, Any]

classmethod from_json_friendly_dict(web3, data)

Recreate deployment information from JSON data.

This recreates the live Web3 contract and vault reader objects from addresses stored by as_json_friendly_dict(). The JSON payload does not contain private keys or signed transactions.

Parameters
  • web3 (web3.main.Web3) – Web3 connection for the deployment chain.

  • data (dict[str, Any]) – JSON data produced by as_json_friendly_dict().

Returns

Hydrated Lagoon deployment information.

Return type

eth_defi.erc_4626.vault_protocol.lagoon.deployment.LagoonAutomatedDeployment

pformat()

Return pretty print of deployment info.

Return type

str

format_whitelisted_items(indent='    ')

Format whitelisted items as a human-readable string.

Parameters

indent (str) –

Return type

str

__init__(chain_id, vault, trading_strategy_module, asset_managers, valuation_manager, multisig_owners, deployer, block_number, parameters, vault_abi, safe_address=None, old_trading_strategy_module=None, beacon_proxy_factory=None, gas_used=None, safe_salt_nonce=None, whitelisted_items=())
Parameters
Return type

None