Skip to content

Commit

Permalink
Queries (#47)
Browse files Browse the repository at this point in the history
* scripts: add docker-compose to execute ethereum devnet

* add cosmos chain

* Diamond pattern (EIP-2535)

Use [ERC-2535: Diamonds, Multi-Facet Proxy](https://eips.ethereum.org/EIPS/eip-2535) to make IBC contracts more flexible in terms of upgradability and deployment

Instead of one contract (OwnableIBCHandler) that inherits all other contract handlers (IBCClientHandler, IBCConnectionHandler, ...), we now deploy each of the handlers separately and register their functions in the Diamond contract. It allows to deploy as many contracts as possible not depending on the code size anymore

* fix compilation

* fix recvPacket

* a little fix

* implement some queries

* Improve ICS Ethereum light client integration

Refactored the light-clients/icsxx-ethereum and hyperspace/ethereum modules to improve ICS Ethereum light client integration. The integration tests are updated to accommodate these changes. Also, a new module 'verify' was added to the project to streamline verifying processes. The hyperspace module's dependencies and Cargo.toml file also saw updates. These changes were necessary to refine the function and increase efficiency in the codebase, making it easier to manage and navigate through. Finally, an empty file named jwt.rs got added to manage Json Web Tokens but awaits population.

* fix contract compilation

* Add Ethereum-Cosmos tests and correctly decode light client state

New test file `ethereum_cosmos.rs` was added under `hyperspace/testsuite/tests` to test integration of Ethereum and Cosmos. Fixed light client state decoding in Ethereum `ibc_provider.rs`. Update client event creation was included along with a create client event handler. Further, additional log filtering for key Ethereum events useful for the IBC (Inter-Blockchain Communication) was added.

Additionally, couple of methods were moved out of the `#[cfg(test)]` normalization blocks, making them available outside of testing. Some TODO comments were also addressed, that mainly handled function implementations and debugging of values.

The integration tests include behaviors such as setting up clients, connection and channel setup, tests with different packet timeouts and connection delays.

* fix some of the tests

* add mock

* restructure modules

* Update ethereum client and test parameters and fix tests

---------

Co-authored-by: Blas Rodriguez Irizar <[email protected]>
  • Loading branch information
vmarkushin and blasrodri authored Sep 15, 2023
1 parent aa4ceb2 commit b0dd6a9
Show file tree
Hide file tree
Showing 57 changed files with 5,719 additions and 2,139 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@ typechain-types/
cache/
out/


# eth-bridge
scripts/eth-bridge/execution/geth
scripts/eth-bridge/execution/keystore
Expand Down
Loading

0 comments on commit b0dd6a9

Please sign in to comment.