-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
See PR #5 for ongoing work.
This is a tracking issue for the hyperspace-ethereum work currently being done, it will list all the missing or incomplete features.
to get started quickly you can check out the branch and go
cargo test -p hyperspace-ethereum --test sanity_checks
Tests are a work in progress so you will see failures like
running 6 tests
test test_deploy_yui_ibc_and_mock_client ... ok
test test_hyperspace_ethereum_client ... ok
test test_ibc_client ... FAILED
test test_ibc_connection ... FAILED
thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: TrieError("Invalid state root: [86, 232, 31, 23, 27, 204, 85, 166, 255, 131, 69, 230, 146, 192, 248, 110, 91, 72, 224, 27, 153, 108, 173, 192, 1, 98, 47, 181, 227, 99, 180, 33]")', anvil/src/eth/backend/mem/mod.rs:2250:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
test test_ibc_channel ... FAILED
test test_ibc_packet ... FAILED
failures:
---- test_ibc_client stdout ----
thread 'test_ibc_client' panicked at 'not yet implemented: query-client-state: error: Revert(Bytes(0x))', hyperspace/ethereum/src/ibc_provider.rs:250:28
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---- test_ibc_connection stdout ----
thread 'test_ibc_connection' panicked at 'not yet implemented', hyperspace/ethereum/src/ibc_provider.rs:586:9
---- test_ibc_channel stdout ----
thread 'test_ibc_channel' panicked at 'not yet implemented', hyperspace/ethereum/src/ibc_provider.rs:736:12
---- test_ibc_packet stdout ----
[hyperspace/ethereum/src/client.rs:275] &var_name = "0x632c3301e3f531181188889255cd2b5963b70302fac2cc87ce7f5193e3a8ba26"
[hyperspace/ethereum/src/client.rs:275] &storage_index = "0"
thread 'test_ibc_packet' panicked at 'error sending request for url (http://localhost:33585/): connection closed before message completed', hyperspace/ethereum/src/client.rs:287:32
failures:
test_ibc_channel
test_ibc_client
test_ibc_connection
test_ibc_packet
test result: FAILED. 2 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.45s
yui-ibc-solidity is missing analogues for the following events:
- CreateClient; present as
GeneratedClientIdentifierin https://github.com/hyperledger-labs/yui-ibc-solidity/blob/6371eac9b8136b39bc361371afac6006e2d7a8dd/contracts/core/25-handler/IBCClientHandler.sol#L15 - UpdateClient; missing, needs to be in
core/25-handler/IBCClientHandler.sol - UpgradeClient; missing not sure where this needs to be
- OpenInitConnection; missing, needs to be in
contracts/core/25-handler/IBCConnectionHandler.sol - OpenTryConnection; missing, needs to be in
contracts/core/25-handler/IBCConnectionHandler.sol - OpenAckConnection; present as
GeneratedConnectionIdentifierbut needs a distinctive event incontracts/core/25-handler/IBCConnectionHandler.sol - OpenConfirmConnection; present as
GeneratedConnectionIdentifierbut needs a distinctive event incontracts/core/25-handler/IBCConnectionHandler.sol - OpenInitChannel; missing, needs to be in
core/25-handler/IBCChannelHandler.sol - OpenTryChannel; missing, needs to be in
core/25-handler/IBCChannelHandler.sol - OpenAckChannel; missing, needs to be in
core/25-handler/IBCChannelHandler.sol - OpenConfirmChannel; present as
GeneratedChannelIdentifierin https://github.com/hyperledger-labs/yui-ibc-solidity/blob/6371eac9b8136b39bc361371afac6006e2d7a8dd/contracts/core/25-handler/IBCChannelHandler.sol#L64 - CloseInitChannel; missing, needs to be in
core/25-handler/IBCChannelHandler.sol - CloseConfirmChannel; missing, needs to be in
core/25-handler/IBCChannelHandler.sol - SendPacket in https://github.com/hyperledger-labs/yui-ibc-solidity/blob/6371eac9b8136b39bc361371afac6006e2d7a8dd/contracts/core/25-handler/IBCPacketHandler.sol#L20
- ReceivePacket in https://github.com/hyperledger-labs/yui-ibc-solidity/blob/6371eac9b8136b39bc361371afac6006e2d7a8dd/contracts/core/25-handler/IBCPacketHandler.sol#L28
- WriteAcknowledgement in https://github.com/hyperledger-labs/yui-ibc-solidity/blob/6371eac9b8136b39bc361371afac6006e2d7a8dd/contracts/core/25-handler/IBCPacketHandler.sol#L29
- AcknowledgePacket in https://github.com/hyperledger-labs/yui-ibc-solidity/blob/6371eac9b8136b39bc361371afac6006e2d7a8dd/contracts/core/25-handler/IBCPacketHandler.sol#L32
- TimeoutPacket; missing, not sure where this needs to be.
- TimeoutOnClosePacket; missing, not sure where this needs to be.
hyperspace-ethereum provider:
- query_latest_ibc_events
- ibc_events
- query_client_consensus
- query_client_state
- query_connection_end
- query_channel_end
- query_proof
- query_packet_commitment
- query_packet_acknowledgement
- query_next_sequence_recv
- query_packet_receipt
- latest_height_and_timestamp
- query_packet_commitments
- query_packet_acknowledgements
- query_unreceived_packets
- query_unreceived_acknowledgements
- query_send_packets
- query_received_packets
- query_client_update_time_and_height
- query_host_consensus_state_proof
- query_timestamp_at
- query_channels
- initialize_client_state
- query_client_id_from_tx_hash
- query_connection_id_from_tx_hash
- query_channel_id_from_tx_hash
functions that are only used in tests (optional):
-
query_connection_channels -
query_connection_using_client -
query_ibc_balance -
query_clients
hyperspace-ethereum, test code, sanity_checks.rs:
-
test_ibc_client -
test_ibc_connection -
test_ibc_channel - test_ibc_packet
Other Missing:
- Channel/Module white list
-
Chain::submitonly passes inmessages: Vec<ibc_proto::google::protobuf::Any>which forces us to do redundant work to try and deserialise the message into some other counterparty message so we can see the port-id and channel-id to actually send the message. - query_client_message ???
- get_proof_height ???
Nice to have:
- Debugging cycle is absolute dog water with yui-ibc, some tooling to help figure out why a particular contract is trapping with a more useful message than revert(x0) would be nice.
Metadata
Metadata
Assignees
Labels
No labels