evmos.proto.autogen.py.ibc.core.connection.v1

Classes

ClientPaths(paths)

ClientPaths define all the connection paths for a client state.

ConnectionEnd(client_id, versions, state, ...)

ConnectionEnd defines a stateful object on a chain connected to another separate one.

ConnectionPaths(client_id, paths)

ConnectionPaths define all the connection paths for a given client state.

Counterparty(client_id, connection_id, prefix)

Counterparty defines the counterparty chain associated with a connection end.

GenesisState(connections, ...)

GenesisState defines the ibc connection submodule's genesis state.

IdentifiedConnection(id, client_id, ...)

IdentifiedConnection defines a connection with additional connection identifier field.

MsgBase()

MsgConnectionOpenAck(connection_id, ...)

MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to acknowledge the change of connection state to TRYOPEN on Chain B.

MsgConnectionOpenAckResponse()

MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response type.

MsgConnectionOpenConfirm(connection_id, ...)

MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to acknowledge the change of connection state to OPEN on Chain A.

MsgConnectionOpenConfirmResponse()

MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm response type.

MsgConnectionOpenInit(client_id, ...)

MsgConnectionOpenInit defines the msg sent by an account on Chain A to initialize a connection with Chain B.

MsgConnectionOpenInitResponse()

MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response type.

MsgConnectionOpenTry(client_id, ...)

MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a connection on Chain B.

MsgConnectionOpenTryResponse()

MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type.

MsgStub(channel, *[, timeout, deadline, ...])

MsgUpdateParams(signer, params)

MsgUpdateParams defines the sdk.Msg type to update the connection parameters.

MsgUpdateParamsResponse()

MsgUpdateParamsResponse defines the MsgUpdateParams response type.

Params(max_expected_time_per_block)

Params defines the set of Connection parameters.

QueryBase()

QueryClientConnectionsRequest(client_id)

QueryClientConnectionsRequest is the request type for the Query/ClientConnections RPC method

QueryClientConnectionsResponse(...)

QueryClientConnectionsResponse is the response type for the Query/ClientConnections RPC method

QueryConnectionClientStateRequest(connection_id)

QueryConnectionClientStateRequest is the request type for the Query/ConnectionClientState RPC method

QueryConnectionClientStateResponse(...)

QueryConnectionClientStateResponse is the response type for the Query/ConnectionClientState RPC method

QueryConnectionConsensusStateRequest(...)

QueryConnectionConsensusStateRequest is the request type for the Query/ConnectionConsensusState RPC method

QueryConnectionConsensusStateResponse(...)

QueryConnectionConsensusStateResponse is the response type for the Query/ConnectionConsensusState RPC method

QueryConnectionParamsRequest()

QueryConnectionParamsRequest is the request type for the Query/ConnectionParams RPC method.

QueryConnectionParamsResponse(params)

QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method.

QueryConnectionRequest(connection_id)

QueryConnectionRequest is the request type for the Query/Connection RPC method

QueryConnectionResponse(connection, proof, ...)

QueryConnectionResponse is the response type for the Query/Connection RPC method.

QueryConnectionsRequest(pagination)

QueryConnectionsRequest is the request type for the Query/Connections RPC method

QueryConnectionsResponse(connections, ...)

QueryConnectionsResponse is the response type for the Query/Connections RPC method.

QueryStub(channel, *[, timeout, deadline, ...])

State(*values)

State defines if a connection is in one of the following states: INIT, TRYOPEN, OPEN or UNINITIALIZED.

Version(identifier, features)

Version defines the versioning scheme used to negotiate the IBC verison in the connection handshake.

class evmos.proto.autogen.py.ibc.core.connection.v1.ClientPaths(paths: ~typing.List[str] = <object object>)[source]

Bases: Message

ClientPaths define all the connection paths for a client state.

paths: List[str] = <object object>

list of connection paths

class evmos.proto.autogen.py.ibc.core.connection.v1.ConnectionEnd(client_id: str = <object object>, versions: ~typing.List[~evmos.proto.autogen.py.ibc.core.connection.v1.Version] = <object object>, state: ~evmos.proto.autogen.py.ibc.core.connection.v1.State = <object object>, counterparty: ~evmos.proto.autogen.py.ibc.core.connection.v1.Counterparty = <object object>, delay_period: int = <object object>)[source]

Bases: Message

ConnectionEnd defines a stateful object on a chain connected to another separate one. NOTE: there must only be 2 defined ConnectionEnds to establish a connection between two chains.

client_id: str = <object object>

client associated with this connection.

counterparty: Counterparty = <object object>

counterparty chain associated with this connection.

delay_period: int = <object object>

delay period that must pass before a consensus state can be used for packet-verification NOTE: delay period logic is only implemented by some clients.

state: State = <object object>

current state of the connection end.

versions: List[Version] = <object object>

IBC version which can be utilised to determine encodings or protocols for channels or packets utilising this connection.

class evmos.proto.autogen.py.ibc.core.connection.v1.ConnectionPaths(client_id: str = <object object>, paths: ~typing.List[str] = <object object>)[source]

Bases: Message

ConnectionPaths define all the connection paths for a given client state.

client_id: str = <object object>

client state unique identifier

paths: List[str] = <object object>

list of connection paths

class evmos.proto.autogen.py.ibc.core.connection.v1.Counterparty(client_id: str = <object object>, connection_id: str = <object object>, prefix: ~evmos.proto.autogen.py.ibc.core.commitment.v1.MerklePrefix = <object object>)[source]

Bases: Message

Counterparty defines the counterparty chain associated with a connection end.

client_id: str = <object object>

identifies the client on the counterparty chain associated with a given connection.

connection_id: str = <object object>

identifies the connection end on the counterparty chain associated with a given connection.

prefix: MerklePrefix = <object object>

commitment merkle prefix of the counterparty chain.

class evmos.proto.autogen.py.ibc.core.connection.v1.GenesisState(connections: ~typing.List[~evmos.proto.autogen.py.ibc.core.connection.v1.IdentifiedConnection] = <object object>, client_connection_paths: ~typing.List[~evmos.proto.autogen.py.ibc.core.connection.v1.ConnectionPaths] = <object object>, next_connection_sequence: int = <object object>, params: ~evmos.proto.autogen.py.ibc.core.connection.v1.Params = <object object>)[source]

Bases: Message

GenesisState defines the ibc connection submodule’s genesis state.

client_connection_paths: List[ConnectionPaths] = <object object>
connections: List[IdentifiedConnection] = <object object>
next_connection_sequence: int = <object object>

the sequence for the next generated connection identifier

params: Params = <object object>
class evmos.proto.autogen.py.ibc.core.connection.v1.IdentifiedConnection(id: str = <object object>, client_id: str = <object object>, versions: ~typing.List[~evmos.proto.autogen.py.ibc.core.connection.v1.Version] = <object object>, state: ~evmos.proto.autogen.py.ibc.core.connection.v1.State = <object object>, counterparty: ~evmos.proto.autogen.py.ibc.core.connection.v1.Counterparty = <object object>, delay_period: int = <object object>)[source]

Bases: Message

IdentifiedConnection defines a connection with additional connection identifier field.

client_id: str = <object object>

client associated with this connection.

counterparty: Counterparty = <object object>

counterparty chain associated with this connection.

delay_period: int = <object object>

delay period associated with this connection.

id: str = <object object>

connection identifier.

state: State = <object object>

current state of the connection end.

versions: List[Version] = <object object>

IBC version which can be utilised to determine encodings or protocols for channels or packets utilising this connection

class evmos.proto.autogen.py.ibc.core.connection.v1.MsgBase[source]

Bases: ServiceBase

async connection_open_ack(msg_connection_open_ack: MsgConnectionOpenAck) MsgConnectionOpenAckResponse[source]
async connection_open_confirm(msg_connection_open_confirm: MsgConnectionOpenConfirm) MsgConnectionOpenConfirmResponse[source]
async connection_open_init(msg_connection_open_init: MsgConnectionOpenInit) MsgConnectionOpenInitResponse[source]
async connection_open_try(msg_connection_open_try: MsgConnectionOpenTry) MsgConnectionOpenTryResponse[source]
async update_connection_params(msg_update_params: MsgUpdateParams) MsgUpdateParamsResponse[source]
class evmos.proto.autogen.py.ibc.core.connection.v1.MsgConnectionOpenAck(connection_id: str = <object object>, counterparty_connection_id: str = <object object>, version: ~evmos.proto.autogen.py.ibc.core.connection.v1.Version = <object object>, client_state: ~betterproto.lib.google.protobuf.Any = <object object>, proof_height: ~evmos.proto.autogen.py.ibc.core.client.v1.Height = <object object>, proof_try: bytes = <object object>, proof_client: bytes = <object object>, proof_consensus: bytes = <object object>, consensus_height: ~evmos.proto.autogen.py.ibc.core.client.v1.Height = <object object>, signer: str = <object object>, host_consensus_state_proof: bytes = <object object>)[source]

Bases: Message

MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to acknowledge the change of connection state to TRYOPEN on Chain B.

client_state: Any = <object object>
connection_id: str = <object object>
consensus_height: Height = <object object>
counterparty_connection_id: str = <object object>
host_consensus_state_proof: bytes = <object object>

optional proof data for host state machines that are unable to introspect their own consensus state

proof_client: bytes = <object object>

proof of client state included in message

proof_consensus: bytes = <object object>

proof of client consensus state

proof_height: Height = <object object>
proof_try: bytes = <object object>

UNITIALIZED -> TRYOPEN :type: proof of the initialization the connection on Chain B

signer: str = <object object>
version: Version = <object object>
class evmos.proto.autogen.py.ibc.core.connection.v1.MsgConnectionOpenAckResponse[source]

Bases: Message

MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response type.

class evmos.proto.autogen.py.ibc.core.connection.v1.MsgConnectionOpenConfirm(connection_id: str = <object object>, proof_ack: bytes = <object object>, proof_height: ~evmos.proto.autogen.py.ibc.core.client.v1.Height = <object object>, signer: str = <object object>)[source]

Bases: Message

MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to acknowledge the change of connection state to OPEN on Chain A.

connection_id: str = <object object>
proof_ack: bytes = <object object>

INIT -> OPEN :type: proof for the change of the connection state on Chain A

proof_height: Height = <object object>
signer: str = <object object>
class evmos.proto.autogen.py.ibc.core.connection.v1.MsgConnectionOpenConfirmResponse[source]

Bases: Message

MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm response type.

class evmos.proto.autogen.py.ibc.core.connection.v1.MsgConnectionOpenInit(client_id: str = <object object>, counterparty: ~evmos.proto.autogen.py.ibc.core.connection.v1.Counterparty = <object object>, version: ~evmos.proto.autogen.py.ibc.core.connection.v1.Version = <object object>, delay_period: int = <object object>, signer: str = <object object>)[source]

Bases: Message

MsgConnectionOpenInit defines the msg sent by an account on Chain A to initialize a connection with Chain B.

client_id: str = <object object>
counterparty: Counterparty = <object object>
delay_period: int = <object object>
signer: str = <object object>
version: Version = <object object>
class evmos.proto.autogen.py.ibc.core.connection.v1.MsgConnectionOpenInitResponse[source]

Bases: Message

MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response type.

class evmos.proto.autogen.py.ibc.core.connection.v1.MsgConnectionOpenTry(client_id: str = <object object>, previous_connection_id: str = <object object>, client_state: ~betterproto.lib.google.protobuf.Any = <object object>, counterparty: ~evmos.proto.autogen.py.ibc.core.connection.v1.Counterparty = <object object>, delay_period: int = <object object>, counterparty_versions: ~typing.List[~evmos.proto.autogen.py.ibc.core.connection.v1.Version] = <object object>, proof_height: ~evmos.proto.autogen.py.ibc.core.client.v1.Height = <object object>, proof_init: bytes = <object object>, proof_client: bytes = <object object>, proof_consensus: bytes = <object object>, consensus_height: ~evmos.proto.autogen.py.ibc.core.client.v1.Height = <object object>, signer: str = <object object>, host_consensus_state_proof: bytes = <object object>)[source]

Bases: Message

MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a connection on Chain B.

client_id: str = <object object>
client_state: Any = <object object>
consensus_height: Height = <object object>
counterparty: Counterparty = <object object>
counterparty_versions: List[Version] = <object object>
delay_period: int = <object object>
host_consensus_state_proof: bytes = <object object>

optional proof data for host state machines that are unable to introspect their own consensus state

previous_connection_id: str = <object object>

this field is unused. Crossing hellos are no longer supported in core IBC. :type: Deprecated

proof_client: bytes = <object object>

proof of client state included in message

proof_consensus: bytes = <object object>

proof of client consensus state

proof_height: Height = <object object>
proof_init: bytes = <object object>

UNITIALIZED -> INIT :type: proof of the initialization the connection on Chain A

signer: str = <object object>
class evmos.proto.autogen.py.ibc.core.connection.v1.MsgConnectionOpenTryResponse[source]

Bases: Message

MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type.

class evmos.proto.autogen.py.ibc.core.connection.v1.MsgStub(channel: Channel, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: Mapping[str, str | bytes] | Collection[Tuple[str, str | bytes]] | None = None)[source]

Bases: ServiceStub

async connection_open_ack(msg_connection_open_ack: MsgConnectionOpenAck, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MsgConnectionOpenAckResponse[source]
async connection_open_confirm(msg_connection_open_confirm: MsgConnectionOpenConfirm, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MsgConnectionOpenConfirmResponse[source]
async connection_open_init(msg_connection_open_init: MsgConnectionOpenInit, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MsgConnectionOpenInitResponse[source]
async connection_open_try(msg_connection_open_try: MsgConnectionOpenTry, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MsgConnectionOpenTryResponse[source]
async update_connection_params(msg_update_params: MsgUpdateParams, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MsgUpdateParamsResponse[source]
class evmos.proto.autogen.py.ibc.core.connection.v1.MsgUpdateParams(signer: str = <object object>, params: ~evmos.proto.autogen.py.ibc.core.connection.v1.Params = <object object>)[source]

Bases: Message

MsgUpdateParams defines the sdk.Msg type to update the connection parameters.

params: Params = <object object>

params defines the connection parameters to update. NOTE: All parameters must be supplied.

signer: str = <object object>

signer address

class evmos.proto.autogen.py.ibc.core.connection.v1.MsgUpdateParamsResponse[source]

Bases: Message

MsgUpdateParamsResponse defines the MsgUpdateParams response type.

class evmos.proto.autogen.py.ibc.core.connection.v1.Params(max_expected_time_per_block: int = <object object>)[source]

Bases: Message

Params defines the set of Connection parameters.

max_expected_time_per_block: int = <object object>

maximum expected time per block (in nanoseconds), used to enforce block delay. This parameter should reflect the largest amount of time that the chain might reasonably take to produce the next block under normal operating conditions. A safe choice is 3-5x the expected time per block.

class evmos.proto.autogen.py.ibc.core.connection.v1.QueryBase[source]

Bases: ServiceBase

async client_connections(query_client_connections_request: QueryClientConnectionsRequest) QueryClientConnectionsResponse[source]
async connection(query_connection_request: QueryConnectionRequest) QueryConnectionResponse[source]
async connection_client_state(query_connection_client_state_request: QueryConnectionClientStateRequest) QueryConnectionClientStateResponse[source]
async connection_consensus_state(query_connection_consensus_state_request: QueryConnectionConsensusStateRequest) QueryConnectionConsensusStateResponse[source]
async connection_params(query_connection_params_request: QueryConnectionParamsRequest) QueryConnectionParamsResponse[source]
async connections(query_connections_request: QueryConnectionsRequest) QueryConnectionsResponse[source]
class evmos.proto.autogen.py.ibc.core.connection.v1.QueryClientConnectionsRequest(client_id: str = <object object>)[source]

Bases: Message

QueryClientConnectionsRequest is the request type for the Query/ClientConnections RPC method

client_id: str = <object object>

client identifier associated with a connection

class evmos.proto.autogen.py.ibc.core.connection.v1.QueryClientConnectionsResponse(connection_paths: ~typing.List[str] = <object object>, proof: bytes = <object object>, proof_height: ~evmos.proto.autogen.py.ibc.core.client.v1.Height = <object object>)[source]

Bases: Message

QueryClientConnectionsResponse is the response type for the Query/ClientConnections RPC method

connection_paths: List[str] = <object object>

slice of all the connection paths associated with a client.

proof: bytes = <object object>

merkle proof of existence

proof_height: Height = <object object>

height at which the proof was generated

class evmos.proto.autogen.py.ibc.core.connection.v1.QueryConnectionClientStateRequest(connection_id: str = <object object>)[source]

Bases: Message

QueryConnectionClientStateRequest is the request type for the Query/ConnectionClientState RPC method

connection_id: str = <object object>

connection identifier

class evmos.proto.autogen.py.ibc.core.connection.v1.QueryConnectionClientStateResponse(identified_client_state: ~evmos.proto.autogen.py.ibc.core.client.v1.IdentifiedClientState = <object object>, proof: bytes = <object object>, proof_height: ~evmos.proto.autogen.py.ibc.core.client.v1.Height = <object object>)[source]

Bases: Message

QueryConnectionClientStateResponse is the response type for the Query/ConnectionClientState RPC method

identified_client_state: IdentifiedClientState = <object object>

client state associated with the channel

proof: bytes = <object object>

merkle proof of existence

proof_height: Height = <object object>

height at which the proof was retrieved

class evmos.proto.autogen.py.ibc.core.connection.v1.QueryConnectionConsensusStateRequest(connection_id: str = <object object>, revision_number: int = <object object>, revision_height: int = <object object>)[source]

Bases: Message

QueryConnectionConsensusStateRequest is the request type for the Query/ConnectionConsensusState RPC method

connection_id: str = <object object>

connection identifier

revision_height: int = <object object>
revision_number: int = <object object>
class evmos.proto.autogen.py.ibc.core.connection.v1.QueryConnectionConsensusStateResponse(consensus_state: ~betterproto.lib.google.protobuf.Any = <object object>, client_id: str = <object object>, proof: bytes = <object object>, proof_height: ~evmos.proto.autogen.py.ibc.core.client.v1.Height = <object object>)[source]

Bases: Message

QueryConnectionConsensusStateResponse is the response type for the Query/ConnectionConsensusState RPC method

client_id: str = <object object>

client ID associated with the consensus state

consensus_state: Any = <object object>

consensus state associated with the channel

proof: bytes = <object object>

merkle proof of existence

proof_height: Height = <object object>

height at which the proof was retrieved

class evmos.proto.autogen.py.ibc.core.connection.v1.QueryConnectionParamsRequest[source]

Bases: Message

QueryConnectionParamsRequest is the request type for the Query/ConnectionParams RPC method.

class evmos.proto.autogen.py.ibc.core.connection.v1.QueryConnectionParamsResponse(params: ~evmos.proto.autogen.py.ibc.core.connection.v1.Params = <object object>)[source]

Bases: Message

QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method.

params: Params = <object object>

params defines the parameters of the module.

class evmos.proto.autogen.py.ibc.core.connection.v1.QueryConnectionRequest(connection_id: str = <object object>)[source]

Bases: Message

QueryConnectionRequest is the request type for the Query/Connection RPC method

connection_id: str = <object object>

connection unique identifier

class evmos.proto.autogen.py.ibc.core.connection.v1.QueryConnectionResponse(connection: ~evmos.proto.autogen.py.ibc.core.connection.v1.ConnectionEnd = <object object>, proof: bytes = <object object>, proof_height: ~evmos.proto.autogen.py.ibc.core.client.v1.Height = <object object>)[source]

Bases: Message

QueryConnectionResponse is the response type for the Query/Connection RPC method. Besides the connection end, it includes a proof and the height from which the proof was retrieved.

connection: ConnectionEnd = <object object>

connection associated with the request identifier

proof: bytes = <object object>

merkle proof of existence

proof_height: Height = <object object>

height at which the proof was retrieved

class evmos.proto.autogen.py.ibc.core.connection.v1.QueryConnectionsRequest(pagination: ~evmos.proto.autogen.py.cosmos.base.query.v1beta1.PageRequest = <object object>)[source]

Bases: Message

QueryConnectionsRequest is the request type for the Query/Connections RPC method

pagination: PageRequest = <object object>
class evmos.proto.autogen.py.ibc.core.connection.v1.QueryConnectionsResponse(connections: ~typing.List[~evmos.proto.autogen.py.ibc.core.connection.v1.IdentifiedConnection] = <object object>, pagination: ~evmos.proto.autogen.py.cosmos.base.query.v1beta1.PageResponse = <object object>, height: ~evmos.proto.autogen.py.ibc.core.client.v1.Height = <object object>)[source]

Bases: Message

QueryConnectionsResponse is the response type for the Query/Connections RPC method.

connections: List[IdentifiedConnection] = <object object>

list of stored connections of the chain.

height: Height = <object object>

query block height

pagination: PageResponse = <object object>

pagination response

class evmos.proto.autogen.py.ibc.core.connection.v1.QueryStub(channel: Channel, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: Mapping[str, str | bytes] | Collection[Tuple[str, str | bytes]] | None = None)[source]

Bases: ServiceStub

async client_connections(query_client_connections_request: QueryClientConnectionsRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) QueryClientConnectionsResponse[source]
async connection(query_connection_request: QueryConnectionRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) QueryConnectionResponse[source]
async connection_client_state(query_connection_client_state_request: QueryConnectionClientStateRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) QueryConnectionClientStateResponse[source]
async connection_consensus_state(query_connection_consensus_state_request: QueryConnectionConsensusStateRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) QueryConnectionConsensusStateResponse[source]
async connection_params(query_connection_params_request: QueryConnectionParamsRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) QueryConnectionParamsResponse[source]
async connections(query_connections_request: QueryConnectionsRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) QueryConnectionsResponse[source]
class evmos.proto.autogen.py.ibc.core.connection.v1.State(*values)[source]

Bases: Enum

State defines if a connection is in one of the following states: INIT, TRYOPEN, OPEN or UNINITIALIZED.

STATE_INIT = 1

A connection end has just started the opening handshake.

STATE_OPEN = 3

A connection end has completed the handshake.

STATE_TRYOPEN = 2

A connection end has acknowledged the handshake step on the counterparty chain.

STATE_UNINITIALIZED_UNSPECIFIED = 0

Default State

class evmos.proto.autogen.py.ibc.core.connection.v1.Version(identifier: str = <object object>, features: ~typing.List[str] = <object object>)[source]

Bases: Message

Version defines the versioning scheme used to negotiate the IBC verison in the connection handshake.

features: List[str] = <object object>

list of features compatible with the specified identifier

identifier: str = <object object>

unique version identifier