Ejemplo n.º 1
0
def run(c: Config):
    IBC_0 = ChainId('ibc-0')
    IBC_1 = ChainId('ibc-1')

    ibc0_client_id = client.create_update_query_client(c, IBC_0, IBC_1)

    # Allocate first IDs on ibc-1
    ibc1_client_id = client.create_update_query_client(c, IBC_1, IBC_0)
    ibc1_conn_id = connection.conn_init(c, IBC_1, IBC_0, ibc1_client_id,
                                        ibc0_client_id)
    ibc1_chan_id = channel.chan_open_init(c,
                                          dst=IBC_1,
                                          src=IBC_0,
                                          dst_conn=ibc1_conn_id)

    ibc1_client_id = client.create_update_query_client(c, IBC_1, IBC_0)

    split()

    ibc0_conn_id, ibc1_conn_id = connection.handshake(c, IBC_0, IBC_1,
                                                      ibc0_client_id,
                                                      ibc1_client_id)

    split()

    ibc0_chan_id, ibc1_chan_id = channel.handshake(c, IBC_0, IBC_1,
                                                   ibc0_conn_id, ibc1_conn_id)

    split()

    packet.ping_pong(c, IBC_0, IBC_1, ibc0_chan_id, ibc1_chan_id)

    split()
Ejemplo n.º 2
0
def raw(
    c: Config, ibc0: ChainId, ibc1: ChainId, port_id: PortId
) -> Tuple[ClientId, ConnectionId, ChannelId, ClientId, ConnectionId,
           ChannelId]:
    ibc0_client_id = client.create_update_query_client(c, ibc0, ibc1)

    # Allocate first IDs on ibc-1
    ibc1_client_id = client.create_update_query_client(c, ibc1, ibc0)
    ibc1_conn_id = connection.conn_init(c, ibc1, ibc0, ibc1_client_id,
                                        ibc0_client_id)
    ibc1_chan_id = channel.chan_open_init(c,
                                          dst=ibc1,
                                          src=ibc0,
                                          dst_conn=ibc1_conn_id)

    ibc1_client_id = client.create_update_query_client(c, ibc1, ibc0)

    split()

    ibc0_conn_id, ibc1_conn_id = connection.handshake(c, ibc0, ibc1,
                                                      ibc0_client_id,
                                                      ibc1_client_id)

    split()

    ibc0_chan_id, ibc1_chan_id = channel.handshake(c, ibc0, ibc1, ibc0_conn_id,
                                                   ibc1_conn_id, port_id)

    split()

    packet.ping_pong(c, ibc0, ibc1, ibc0_chan_id, ibc1_chan_id)

    split()

    sleep(5)

    packet.timeout(c, ibc0, ibc1, ibc0_chan_id, ibc1_chan_id)

    split()

    # The ChannelCloseInit message is currently denied by Gaia,
    # and requires a patch to be accepted.
    # channel.close(c, ibc0 , ibc1, ibc0_conn_id,
    #               ibc1_conn_id, ibc0_chan_id, ibc1_chan_id)

    return ibc0_client_id, ibc0_conn_id, ibc0_chan_id, ibc1_client_id, ibc1_conn_id, ibc1_chan_id