pub fn bootstrap_channel<ChainA: ChainHandle, ChainB: ChainHandle>(
    client_b_to_a: &ForeignClient<ChainA, ChainB>,
    client_a_to_b: &ForeignClient<ChainB, ChainA>,
    port_a: &TaggedPortIdRef<ChainA, ChainB>,
    port_b: &TaggedPortIdRef<ChainB, ChainA>,
) -> Result<ConnectedChannel<ChainA, ChainB>, Error> {
    let connection = bootstrap_connection(client_b_to_a, client_a_to_b)?;

    bootstrap_channel_with_connection(
        &client_a_to_b.src_chain(),
        &client_a_to_b.dst_chain(),
        connection,
        port_a,
        port_b,
    )
}
/**
    Create a new [`ConnectedChannel`] between two chains using foreign clients
    with initialized client IDs.
*/
Create a new [`ConnectedChannel`] between two chains using foreign clients
with initialized client IDs.
Create a new [ ` ConnectedChannel ` ] between two chains using foreign clients with initialized client IDs .
pub fn bootstrap_channel<ChainA: ChainHandle, ChainB: ChainHandle>(
    client_b_to_a: &ForeignClient<ChainA, ChainB>,
    client_a_to_b: &ForeignClient<ChainB, ChainA>,
    port_a: &TaggedPortIdRef<ChainA, ChainB>,
    port_b: &TaggedPortIdRef<ChainB, ChainA>,
) -> Result<ConnectedChannel<ChainA, ChainB>, Error> {
    let connection = bootstrap_connection(client_b_to_a, client_a_to_b)?;
    bootstrap_channel_with_connection(
        &client_a_to_b.src_chain(),
        &client_a_to_b.dst_chain(),
        connection,
        port_a,
        port_b,
    )
}
pub fn bootstrap_channel < ChainA : ChainHandle , ChainB : ChainHandle > ( client_b_to_a : & ForeignClient < ChainA , ChainB > , client_a_to_b : & ForeignClient < ChainB , ChainA > , port_a : & TaggedPortIdRef < ChainA , ChainB > , port_b : & TaggedPortIdRef < ChainB , ChainA > , ) -> Result < ConnectedChannel < ChainA , ChainB > , Error > { let connection = bootstrap_connection ( client_b_to_a , client_a_to_b ) ? ; bootstrap_channel_with_connection ( & client_a_to_b . src_chain ( ) , & client_a_to_b . dst_chain ( ) , connection , port_a , port_b , ) }
Create a new [`ConnectedChannel`] between two chains using foreign clients
with initialized client IDs.
Create a new [ ` ConnectedChannel ` ] between two chains using foreign clients with initialized client IDs .
client_b_to_a
&ForeignClient<ChainA, ChainB>
client_a_to_b
&ForeignClient<ChainB, ChainA>
port_a
&TaggedPortIdRef<ChainA, ChainB>
port_b
&TaggedPortIdRef<ChainB, ChainA>
client_b_to_a
&ForeignClient<ChainA, ChainB>
client_a_to_b
&ForeignClient<ChainB, ChainA>
port_a
&TaggedPortIdRef<ChainA, ChainB>
port_b
&TaggedPortIdRef<ChainB, ChainA>