Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement IBC handler message definitions as java classes #32

Conversation

AntonAndell
Copy link
Collaborator

Description:

Implement all Message classes need to start implementation of IBC Handler contract.

Commit Message

type: commit message

see the guidelines for commit messages.

Changelog Entry

version: <log entry>

Checklist:

  • I have performed a self-review of my own code
  • I have documented my code in accordance with the documentation guidelines
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have run the unit tests
  • I only have one commit (if not, squash them into one commit).
  • I have a descriptive commit message that adheres to the commit message guidelines

Please review the CONTRIBUTING.md file for detailed contributing guidelines.

AntonAndell and others added 11 commits February 17, 2023 11:04
…ses-for-proto-definitions' into feature/IIBC-94-implement-IBC-handler-message-definitions-as-Java-classes
fezt : Create keys

Co-authored-by: hemz10 <sph2740@example.com>
* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* add rollback message

* Initial commit

* removed encodable and decodable

* format code

* format code

* chore: remove rollback

---------

Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>
* chore: upgrade gradle version to 8.0

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* chore: add common version of java libraries for smart contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
* chore: add ci to run while updating java contracts

checks will run unit tests and optimize jar tasks

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* fix: fix command location for testing java contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* update rlp cargo

* implement request methods

* init rlp encode and decode for messages

* chore: cargo clippy

* chore: update owner and admin

* chore: add unit test

* chore: add unit test for request

---------

Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>
…ns' into feature/IIBC-94-implement-IBC-handler-message-definitions-as-Java-classes
@linear
Copy link

linear bot commented Feb 20, 2023

IIBC-94 ICON - Handler - Message definitions

Define all messages used for communication to and in between IBC Contracts.

@AntonAndell
Copy link
Collaborator Author

@redlarva @nightowl121
Do you think we should generate setters and getters for the messages or do we want them raw and minimal?

@AntonAndell AntonAndell requested a review from redlarva February 20, 2023 07:57
Signed-off-by: Night Owl <nightowl121@protonmail.com>
@nightowl121
Copy link
Collaborator

@redlarva @nightowl121 Do you think we should generate setters and getters for the messages or do we want them raw and minimal?

I think should be good to start and be minimal for now. We an always generate the getters and setters with less effort.

@redlarva
Copy link
Collaborator

@redlarva @nightowl121 Do you think we should generate setters and getters for the messages or do we want them raw and minimal?

Yeah completely agree with @nightowl121 . We can later generate the getter and setter.

@redlarva redlarva merged commit f8cc84e into feature/IIBC-93-create-java-classes-for-proto-definitions Feb 21, 2023
@redlarva redlarva deleted the feature/IIBC-94-implement-IBC-handler-message-definitions-as-Java-classes branch February 21, 2023 04:12
redlarva pushed a commit that referenced this pull request Feb 23, 2023
* Add Java classes to parse JSON versions of IBC proto messages

Add RLP encoding to proto messages used in storage

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* Implement IBC handler message definitions as java classes (#32)

* Add Java classes to parse JSON versions of IBC proto messages

* Add Java classes to represent messages from [ICS-26](https://github.com/cosmos/ibc/tree/main/spec/core/ics-026-routing-module#datagram-handlers-write)
Translated from interperation done in https://github.com/hyperledger-labs/yui-ibc-solidity/blob/main/contracts/core/25-handler/IBCMsgs.sol

* feat: implement create keys for signing transaction  (#27)

fezt : Create keys

Co-authored-by: hemz10 <sph2740@example.com>

* feat: implement callrequest storage (#24)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* add rollback message

* Initial commit

* removed encodable and decodable

* format code

* format code

* chore: remove rollback

---------

Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>

* Feature/add gradle properties for version in java contracts (#28)

* chore: upgrade gradle version to 8.0

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* chore: add common version of java libraries for smart contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Add ci to run while updating java contracts (#29)

* chore: add ci to run while updating java contracts

checks will run unit tests and optimize jar tasks

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* fix: fix command location for testing java contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* docs: ADR for relay (#21)

* feat: implement call message response storage (#18)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* update rlp cargo

* implement request methods

* init rlp encode and decode for messages

* chore: cargo clippy

* chore: update owner and admin

* chore: add unit test

* chore: add unit test for request

---------

Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* fix: fix folder name to run github actions

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Import correct Version class in message classes

* modify gradle files and CI workflow to allow for CI builds

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: Hemanth Kumar <96766939+hemz10@users.noreply.github.com>
Co-authored-by: hemz10 <sph2740@example.com>
Co-authored-by: Prathiksha-Nataraja <90592522+Prathiksha-Nataraja@users.noreply.github.com>
Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>
Co-authored-by: Night Owl <91905208+nightowl121@users.noreply.github.com>
Co-authored-by: viveksharmapoudel <viveksharmapoudel@gmail.com>
Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>
Co-authored-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: Hemanth Kumar <96766939+hemz10@users.noreply.github.com>
Co-authored-by: hemz10 <sph2740@example.com>
Co-authored-by: Prathiksha-Nataraja <90592522+Prathiksha-Nataraja@users.noreply.github.com>
Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>
Co-authored-by: Night Owl <91905208+nightowl121@users.noreply.github.com>
Co-authored-by: viveksharmapoudel <viveksharmapoudel@gmail.com>
Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>
Co-authored-by: Night Owl <nightowl121@protonmail.com>
nightowl121 added a commit that referenced this pull request Mar 9, 2023
* Add Java classes to parse JSON versions of IBC proto messages

* Add Java classes to represent messages from [ICS-26](https://github.com/cosmos/ibc/tree/main/spec/core/ics-026-routing-module#datagram-handlers-write)
Translated from interperation done in https://github.com/hyperledger-labs/yui-ibc-solidity/blob/main/contracts/core/25-handler/IBCMsgs.sol

* Add Java classes to parse JSON versions of IBC proto messages

Add RLP encoding to proto messages used in storage

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* feat: implement create keys for signing transaction  (#27)

fezt : Create keys

Co-authored-by: hemz10 <sph2740@example.com>

* feat: implement callrequest storage (#24)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* add rollback message

* Initial commit

* removed encodable and decodable

* format code

* format code

* chore: remove rollback

---------

Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>

* Feature/add gradle properties for version in java contracts (#28)

* chore: upgrade gradle version to 8.0

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* chore: add common version of java libraries for smart contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Add ci to run while updating java contracts (#29)

* chore: add ci to run while updating java contracts

checks will run unit tests and optimize jar tasks

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* fix: fix command location for testing java contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* docs: ADR for relay (#21)

* feat: implement call message response storage (#18)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* update rlp cargo

* implement request methods

* init rlp encode and decode for messages

* chore: cargo clippy

* chore: update owner and admin

* chore: add unit test

* chore: add unit test for request

---------

Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* fix: fix folder name to run github actions

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Import correct Version class in message classes

* modify gradle files and CI workflow to allow for CI builds

* Implement Client interferface/library for ICON handler
 * add to and from bytes to channel and connection end classes
 * add light client interface
 * add simple store class to use for now
 * add compare methods to height class

* Implement IBC handler message definitions as java classes (#32)

* Add Java classes to parse JSON versions of IBC proto messages

* Add Java classes to represent messages from [ICS-26](https://github.com/cosmos/ibc/tree/main/spec/core/ics-026-routing-module#datagram-handlers-write)
Translated from interperation done in https://github.com/hyperledger-labs/yui-ibc-solidity/blob/main/contracts/core/25-handler/IBCMsgs.sol

* feat: implement create keys for signing transaction  (#27)

fezt : Create keys

Co-authored-by: hemz10 <sph2740@example.com>

* feat: implement callrequest storage (#24)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* add rollback message

* Initial commit

* removed encodable and decodable

* format code

* format code

* chore: remove rollback

---------

Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>

* Feature/add gradle properties for version in java contracts (#28)

* chore: upgrade gradle version to 8.0

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* chore: add common version of java libraries for smart contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Add ci to run while updating java contracts (#29)

* chore: add ci to run while updating java contracts

checks will run unit tests and optimize jar tasks

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* fix: fix command location for testing java contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* docs: ADR for relay (#21)

* feat: implement call message response storage (#18)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* update rlp cargo

* implement request methods

* init rlp encode and decode for messages

* chore: cargo clippy

* chore: update owner and admin

* chore: add unit test

* chore: add unit test for request

---------

Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* fix: fix folder name to run github actions

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Import correct Version class in message classes

* modify gradle files and CI workflow to allow for CI builds

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: Hemanth Kumar <96766939+hemz10@users.noreply.github.com>
Co-authored-by: hemz10 <sph2740@example.com>
Co-authored-by: Prathiksha-Nataraja <90592522+Prathiksha-Nataraja@users.noreply.github.com>
Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>
Co-authored-by: Night Owl <91905208+nightowl121@users.noreply.github.com>
Co-authored-by: viveksharmapoudel <viveksharmapoudel@gmail.com>
Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>
Co-authored-by: Night Owl <nightowl121@protonmail.com>

* Add inital unittest, ignoring commitments

* IIBC 37 Implement connection library (#38)

* Add inital implementation of the Connection library for IBC Handler

* add connection unit tests, ignoring commitments and storage assertions

* IIBC 38 implement channel library (#39)

* Add inital implementation of the Connection library for IBC Handler

* Add inital implementation of the Channel library for IBC Handler

* Add inital unittest, ignoring commitments

* feat: implementing rollback message (#14)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* Initial commit

* chore: implement state for xcall

* Initial commit

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* added methods

* implimenting rollback

* Added unit test case and code refactor

* code format

* updated testcase

* format new line

* chore: fix test rollback

* refactor function names

---------

Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>
Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>

* add connection unit tests, ignoring commitments and storage assertions

* Add channel handler and  send/recv package unit tests. Ignored commitments

* Apply commitments for IBC host branch

* add packet RLP encoding

* style: Apply style formatting by IDE

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* refactor: remove source set definition for build files

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* refactor: reduce DB reads

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: Prathiksha-Nataraja <90592522+Prathiksha-Nataraja@users.noreply.github.com>
Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>
Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>
Co-authored-by: Night Owl <nightowl121@protonmail.com>

* style: add IDE formatting

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: Hemanth Kumar <96766939+hemz10@users.noreply.github.com>
Co-authored-by: hemz10 <sph2740@example.com>
Co-authored-by: Prathiksha-Nataraja <90592522+Prathiksha-Nataraja@users.noreply.github.com>
Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>
Co-authored-by: Night Owl <91905208+nightowl121@users.noreply.github.com>
Co-authored-by: viveksharmapoudel <viveksharmapoudel@gmail.com>
Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>
Co-authored-by: Night Owl <nightowl121@protonmail.com>
nightowl121 added a commit that referenced this pull request Mar 9, 2023
* Add Java classes to parse JSON versions of IBC proto messages

* Add Java classes to represent messages from [ICS-26](https://github.com/cosmos/ibc/tree/main/spec/core/ics-026-routing-module#datagram-handlers-write)
Translated from interperation done in https://github.com/hyperledger-labs/yui-ibc-solidity/blob/main/contracts/core/25-handler/IBCMsgs.sol

* Add Java classes to parse JSON versions of IBC proto messages

Add RLP encoding to proto messages used in storage

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* feat: implement create keys for signing transaction  (#27)

fezt : Create keys

Co-authored-by: hemz10 <sph2740@example.com>

* feat: implement callrequest storage (#24)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* add rollback message

* Initial commit

* removed encodable and decodable

* format code

* format code

* chore: remove rollback

---------

Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>

* Feature/add gradle properties for version in java contracts (#28)

* chore: upgrade gradle version to 8.0

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* chore: add common version of java libraries for smart contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Add ci to run while updating java contracts (#29)

* chore: add ci to run while updating java contracts

checks will run unit tests and optimize jar tasks

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* fix: fix command location for testing java contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* docs: ADR for relay (#21)

* feat: implement call message response storage (#18)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* update rlp cargo

* implement request methods

* init rlp encode and decode for messages

* chore: cargo clippy

* chore: update owner and admin

* chore: add unit test

* chore: add unit test for request

---------

Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* fix: fix folder name to run github actions

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Import correct Version class in message classes

* modify gradle files and CI workflow to allow for CI builds

* Implement Client interferface/library for ICON handler
 * add to and from bytes to channel and connection end classes
 * add light client interface
 * add simple store class to use for now
 * add compare methods to height class

* Add inital implementation of the Connection library for IBC Handler

* Add inital implementation of the Channel library for IBC Handler

* Implement IBC handler message definitions as java classes (#32)

* Add Java classes to parse JSON versions of IBC proto messages

* Add Java classes to represent messages from [ICS-26](https://github.com/cosmos/ibc/tree/main/spec/core/ics-026-routing-module#datagram-handlers-write)
Translated from interperation done in https://github.com/hyperledger-labs/yui-ibc-solidity/blob/main/contracts/core/25-handler/IBCMsgs.sol

* feat: implement create keys for signing transaction  (#27)

fezt : Create keys

Co-authored-by: hemz10 <sph2740@example.com>

* feat: implement callrequest storage (#24)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* add rollback message

* Initial commit

* removed encodable and decodable

* format code

* format code

* chore: remove rollback

---------

Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>

* Feature/add gradle properties for version in java contracts (#28)

* chore: upgrade gradle version to 8.0

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* chore: add common version of java libraries for smart contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Add ci to run while updating java contracts (#29)

* chore: add ci to run while updating java contracts

checks will run unit tests and optimize jar tasks

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* fix: fix command location for testing java contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* docs: ADR for relay (#21)

* feat: implement call message response storage (#18)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* update rlp cargo

* implement request methods

* init rlp encode and decode for messages

* chore: cargo clippy

* chore: update owner and admin

* chore: add unit test

* chore: add unit test for request

---------

Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* fix: fix folder name to run github actions

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Import correct Version class in message classes

* modify gradle files and CI workflow to allow for CI builds

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: Hemanth Kumar <96766939+hemz10@users.noreply.github.com>
Co-authored-by: hemz10 <sph2740@example.com>
Co-authored-by: Prathiksha-Nataraja <90592522+Prathiksha-Nataraja@users.noreply.github.com>
Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>
Co-authored-by: Night Owl <91905208+nightowl121@users.noreply.github.com>
Co-authored-by: viveksharmapoudel <viveksharmapoudel@gmail.com>
Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>
Co-authored-by: Night Owl <nightowl121@protonmail.com>

* Add inital unittest, ignoring commitments

* add connection unit tests, ignoring commitments and storage assertions

* Add channel handler and  send/recv package unit tests. Ignored commitments

* Apply commitments for IBC host branch

* add packet RLP encoding

* Implement IBC Handler
    * Add unit test covering different connection scenarios
    * Add IBC module Interface and verify callbacks
    * Add inital Eventlogs similar to yui-solidity codebase
    * Add Owner premission to client registrations and port binding

* fix: incorrect choice of code while resolving merge conflict

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* style: apply IDE formatting

- Avoid using @dev tag as it's not common in javadoc

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* style: apply IDE formatting

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* fix: add external method annotations

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* refactor: optimize db reads

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* docs: change comments to javadoc

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Use same order of execution as reference implementation

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: Hemanth Kumar <96766939+hemz10@users.noreply.github.com>
Co-authored-by: hemz10 <sph2740@example.com>
Co-authored-by: Prathiksha-Nataraja <90592522+Prathiksha-Nataraja@users.noreply.github.com>
Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>
Co-authored-by: Night Owl <91905208+nightowl121@users.noreply.github.com>
Co-authored-by: viveksharmapoudel <viveksharmapoudel@gmail.com>
Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>
Co-authored-by: Night Owl <nightowl121@protonmail.com>
redlarva added a commit that referenced this pull request Mar 29, 2023
)

* Add Java classes to parse JSON versions of IBC proto messages

* Add Java classes to represent messages from [ICS-26](https://github.com/cosmos/ibc/tree/main/spec/core/ics-026-routing-module#datagram-handlers-write)
Translated from interperation done in https://github.com/hyperledger-labs/yui-ibc-solidity/blob/main/contracts/core/25-handler/IBCMsgs.sol

* Add Java classes to parse JSON versions of IBC proto messages

Add RLP encoding to proto messages used in storage

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* feat: implement create keys for signing transaction  (#27)

fezt : Create keys

Co-authored-by: hemz10 <sph2740@example.com>

* feat: implement callrequest storage (#24)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* add rollback message

* Initial commit

* removed encodable and decodable

* format code

* format code

* chore: remove rollback

---------

Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>

* Feature/add gradle properties for version in java contracts (#28)

* chore: upgrade gradle version to 8.0

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* chore: add common version of java libraries for smart contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Add ci to run while updating java contracts (#29)

* chore: add ci to run while updating java contracts

checks will run unit tests and optimize jar tasks

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* fix: fix command location for testing java contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* docs: ADR for relay (#21)

* feat: implement call message response storage (#18)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* update rlp cargo

* implement request methods

* init rlp encode and decode for messages

* chore: cargo clippy

* chore: update owner and admin

* chore: add unit test

* chore: add unit test for request

---------

Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* fix: fix folder name to run github actions

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Import correct Version class in message classes

* modify gradle files and CI workflow to allow for CI builds

* Implement Client interferface/library for ICON handler
 * add to and from bytes to channel and connection end classes
 * add light client interface
 * add simple store class to use for now
 * add compare methods to height class

* Add inital implementation of the Connection library for IBC Handler

* Add inital implementation of the Channel library for IBC Handler

* Implement IBC handler message definitions as java classes (#32)

* Add Java classes to parse JSON versions of IBC proto messages

* Add Java classes to represent messages from [ICS-26](https://github.com/cosmos/ibc/tree/main/spec/core/ics-026-routing-module#datagram-handlers-write)
Translated from interperation done in https://github.com/hyperledger-labs/yui-ibc-solidity/blob/main/contracts/core/25-handler/IBCMsgs.sol

* feat: implement create keys for signing transaction  (#27)

fezt : Create keys

Co-authored-by: hemz10 <sph2740@example.com>

* feat: implement callrequest storage (#24)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* add rollback message

* Initial commit

* removed encodable and decodable

* format code

* format code

* chore: remove rollback

---------

Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>

* Feature/add gradle properties for version in java contracts (#28)

* chore: upgrade gradle version to 8.0

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* chore: add common version of java libraries for smart contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Add ci to run while updating java contracts (#29)

* chore: add ci to run while updating java contracts

checks will run unit tests and optimize jar tasks

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* fix: fix command location for testing java contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* docs: ADR for relay (#21)

* feat: implement call message response storage (#18)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* update rlp cargo

* implement request methods

* init rlp encode and decode for messages

* chore: cargo clippy

* chore: update owner and admin

* chore: add unit test

* chore: add unit test for request

---------

Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* fix: fix folder name to run github actions

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Import correct Version class in message classes

* modify gradle files and CI workflow to allow for CI builds

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: Hemanth Kumar <96766939+hemz10@users.noreply.github.com>
Co-authored-by: hemz10 <sph2740@example.com>
Co-authored-by: Prathiksha-Nataraja <90592522+Prathiksha-Nataraja@users.noreply.github.com>
Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>
Co-authored-by: Night Owl <91905208+nightowl121@users.noreply.github.com>
Co-authored-by: viveksharmapoudel <viveksharmapoudel@gmail.com>
Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>
Co-authored-by: Night Owl <nightowl121@protonmail.com>

* Add inital unittest, ignoring commitments

* add connection unit tests, ignoring commitments and storage assertions

* Add channel handler and  send/recv package unit tests. Ignored commitments

* Apply commitments for IBC host branch

* add packet RLP encoding

* Implement IBC Handler
    * Add unit test covering different connection scenarios
    * Add IBC module Interface and verify callbacks
    * Add inital Eventlogs similar to yui-solidity codebase
    * Add Owner premission to client registrations and port binding

* Inital light client implementation
    * Implement header verification
    * Add simple unit tests with data from archway testnets
    * Add proto encoding utils

* Change to BTP messages instead of commitments

* style: add code formatting by IDE

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* refactor: simplify code

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* docs: remove @dev tag in javadoc

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* refactor: keep comments from previous version

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* fix: explicitly specify dependency for local projects

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* feat(javascore): Simple java score enabled protbuf library/parser.  (#58)

* Intial simple and unoptimized  parser finished

* Apply generated protoparser to IBC implementation
	* Fix issue with decoding byte array lenght
	* Fix issue with estimating size of a varInt
	* Use correct default values for proto messages

* Remove redundant CanonicalBlockID from tendermint proto

* fix: issues in imports while resolving merge conflicts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* feat(javascore): Use google protobuf for testing. (#82)

* feat(javascore): change IBC unitTests to use protoc generated proto

---------

Co-authored-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: red__larva <red.x.larva@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: red__larva <red.x.larva@protonmail.com>

* feat(javascore): IIBC-108 Tendermint lightclient header verification unit tests (#125)

* Intial simple and unoptimized  parser finished

* Apply generated protoparser to IBC implementation
	* Fix issue with decoding byte array lenght
	* Fix issue with estimating size of a varInt
	* Use correct default values for proto messages

* Remove redundant CanonicalBlockID from tendermint proto

* change IBC unitTests to use protoc generated proto

* Extend the block header verification testing for tendermint lighclient

Add tests for adjacent block verification.
Add tests for malicous block updates and frezing client.
Adapt client structure to implement ILightClient.
Add temporary implementation of membership verification.

* Fix merge issues

* Remove tendermint interface implemenation to allow for unit tests at current stage

	In future branch verifyMembership should require positive result and return void

* Set chain score as a string

* feat(javascore): Adapt ibc core to icon lightclient (#141)

* Intial simple and unoptimized  parser finished

* Apply generated protoparser to IBC implementation
	* Fix issue with decoding byte array lenght
	* Fix issue with estimating size of a varInt
	* Use correct default values for proto messages

* Remove redundant CanonicalBlockID from tendermint proto

* change IBC unitTests to use protoc generated proto

* Extend the block header verification testing for tendermint lighclient

Add tests for adjacent block verification.
Add tests for malicous block updates and frezing client.
Adapt client structure to implement ILightClient.
Add temporary implementation of membership verification.

* Fix merge issues

* Remove tendermint interface implemenation to allow for unit tests at current stage

	In future branch verifyMembership should require positive result and return void

* Add simple mock lightclient to test handler logic

* remove built in height decoding in consensus state

* Adapt IBC core to lightclient design

	* Add request timeout to do "nonMembershipProofs"
	* Add timeoutPacket handle to core, handler and module interface
	* Remove deprecated rlp-proto structs
	* Adapt eventlog to fit relay design
	* Change most instance varaible DBs to static to get below variable limit in goloop

* Adapt client verification and update to fit java score

* Add null checks before proto decodings

---------

Co-authored-by: redlarva <91685111+redlarva@users.noreply.github.com>

* fix(javascore): fix method name used for encoding integers in javascore proto generator (#155)

fix(javascore): fix method name used for encoding integers in javascore prot generator

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Allow for version number during proto genenartion in java

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: Hemanth Kumar <96766939+hemz10@users.noreply.github.com>
Co-authored-by: hemz10 <sph2740@example.com>
Co-authored-by: Prathiksha-Nataraja <90592522+Prathiksha-Nataraja@users.noreply.github.com>
Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>
Co-authored-by: Night Owl <91905208+nightowl121@users.noreply.github.com>
Co-authored-by: viveksharmapoudel <viveksharmapoudel@gmail.com>
Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>
Co-authored-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: red__larva <red.x.larva@protonmail.com>
Co-authored-by: redlarva <91685111+redlarva@users.noreply.github.com>
ibrizsabin pushed a commit that referenced this pull request Apr 3, 2023
)

* Add Java classes to parse JSON versions of IBC proto messages

* Add Java classes to represent messages from [ICS-26](https://github.com/cosmos/ibc/tree/main/spec/core/ics-026-routing-module#datagram-handlers-write)
Translated from interperation done in https://github.com/hyperledger-labs/yui-ibc-solidity/blob/main/contracts/core/25-handler/IBCMsgs.sol

* Add Java classes to parse JSON versions of IBC proto messages

Add RLP encoding to proto messages used in storage

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* feat: implement create keys for signing transaction  (#27)

fezt : Create keys

Co-authored-by: hemz10 <sph2740@example.com>

* feat: implement callrequest storage (#24)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* add rollback message

* Initial commit

* removed encodable and decodable

* format code

* format code

* chore: remove rollback

---------

Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>

* Feature/add gradle properties for version in java contracts (#28)

* chore: upgrade gradle version to 8.0

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* chore: add common version of java libraries for smart contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Add ci to run while updating java contracts (#29)

* chore: add ci to run while updating java contracts

checks will run unit tests and optimize jar tasks

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* fix: fix command location for testing java contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* docs: ADR for relay (#21)

* feat: implement call message response storage (#18)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* update rlp cargo

* implement request methods

* init rlp encode and decode for messages

* chore: cargo clippy

* chore: update owner and admin

* chore: add unit test

* chore: add unit test for request

---------

Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* fix: fix folder name to run github actions

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Import correct Version class in message classes

* modify gradle files and CI workflow to allow for CI builds

* Implement Client interferface/library for ICON handler
 * add to and from bytes to channel and connection end classes
 * add light client interface
 * add simple store class to use for now
 * add compare methods to height class

* Add inital implementation of the Connection library for IBC Handler

* Add inital implementation of the Channel library for IBC Handler

* Implement IBC handler message definitions as java classes (#32)

* Add Java classes to parse JSON versions of IBC proto messages

* Add Java classes to represent messages from [ICS-26](https://github.com/cosmos/ibc/tree/main/spec/core/ics-026-routing-module#datagram-handlers-write)
Translated from interperation done in https://github.com/hyperledger-labs/yui-ibc-solidity/blob/main/contracts/core/25-handler/IBCMsgs.sol

* feat: implement create keys for signing transaction  (#27)

fezt : Create keys

Co-authored-by: hemz10 <sph2740@example.com>

* feat: implement callrequest storage (#24)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* add rollback message

* Initial commit

* removed encodable and decodable

* format code

* format code

* chore: remove rollback

---------

Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>

* Feature/add gradle properties for version in java contracts (#28)

* chore: upgrade gradle version to 8.0

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* chore: add common version of java libraries for smart contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Add ci to run while updating java contracts (#29)

* chore: add ci to run while updating java contracts

checks will run unit tests and optimize jar tasks

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* fix: fix command location for testing java contracts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* docs: ADR for relay (#21)

* feat: implement call message response storage (#18)

* chore: add boilerplate for cosmwasm-contracts

* update cargo

* test: add unit-test setup

* test: setup mock env

* update test

* update test setup, cargo

* add call service message

* chore: inital ibc impl for xcall

* chore:  refactor message and address

* chore: implement state for xcall

* chore: update call service  message

* chore: add call message request storage

* chore: add call message response storage

* chore: add rust rlp library

* chore: update cargo

* remove admin and owner

* add storage key enum

* update types

* remove admin and owner management

* chore : restructure contract state and update methods

* update admin and owner store

* add storage key for cosmwasm persistant storage

* update rlp cargo

* implement request methods

* init rlp encode and decode for messages

* chore: cargo clippy

* chore: update owner and admin

* chore: add unit test

* chore: add unit test for request

---------

Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>

* downrgrade javaeeUnittestVersion from 0.10.0 to 0.9.7

* fix: fix folder name to run github actions

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Import correct Version class in message classes

* modify gradle files and CI workflow to allow for CI builds

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: Hemanth Kumar <96766939+hemz10@users.noreply.github.com>
Co-authored-by: hemz10 <sph2740@example.com>
Co-authored-by: Prathiksha-Nataraja <90592522+Prathiksha-Nataraja@users.noreply.github.com>
Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>
Co-authored-by: Night Owl <91905208+nightowl121@users.noreply.github.com>
Co-authored-by: viveksharmapoudel <viveksharmapoudel@gmail.com>
Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>
Co-authored-by: Night Owl <nightowl121@protonmail.com>

* Add inital unittest, ignoring commitments

* add connection unit tests, ignoring commitments and storage assertions

* Add channel handler and  send/recv package unit tests. Ignored commitments

* Apply commitments for IBC host branch

* add packet RLP encoding

* Implement IBC Handler
    * Add unit test covering different connection scenarios
    * Add IBC module Interface and verify callbacks
    * Add inital Eventlogs similar to yui-solidity codebase
    * Add Owner premission to client registrations and port binding

* Inital light client implementation
    * Implement header verification
    * Add simple unit tests with data from archway testnets
    * Add proto encoding utils

* Change to BTP messages instead of commitments

* style: add code formatting by IDE

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* refactor: simplify code

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* docs: remove @dev tag in javadoc

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* refactor: keep comments from previous version

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* fix: explicitly specify dependency for local projects

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* feat(javascore): Simple java score enabled protbuf library/parser.  (#58)

* Intial simple and unoptimized  parser finished

* Apply generated protoparser to IBC implementation
	* Fix issue with decoding byte array lenght
	* Fix issue with estimating size of a varInt
	* Use correct default values for proto messages

* Remove redundant CanonicalBlockID from tendermint proto

* fix: issues in imports while resolving merge conflicts

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* feat(javascore): Use google protobuf for testing. (#82)

* feat(javascore): change IBC unitTests to use protoc generated proto

---------

Co-authored-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: red__larva <red.x.larva@protonmail.com>

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: red__larva <red.x.larva@protonmail.com>

* feat(javascore): IIBC-108 Tendermint lightclient header verification unit tests (#125)

* Intial simple and unoptimized  parser finished

* Apply generated protoparser to IBC implementation
	* Fix issue with decoding byte array lenght
	* Fix issue with estimating size of a varInt
	* Use correct default values for proto messages

* Remove redundant CanonicalBlockID from tendermint proto

* change IBC unitTests to use protoc generated proto

* Extend the block header verification testing for tendermint lighclient

Add tests for adjacent block verification.
Add tests for malicous block updates and frezing client.
Adapt client structure to implement ILightClient.
Add temporary implementation of membership verification.

* Fix merge issues

* Remove tendermint interface implemenation to allow for unit tests at current stage

	In future branch verifyMembership should require positive result and return void

* Set chain score as a string

* feat(javascore): Adapt ibc core to icon lightclient (#141)

* Intial simple and unoptimized  parser finished

* Apply generated protoparser to IBC implementation
	* Fix issue with decoding byte array lenght
	* Fix issue with estimating size of a varInt
	* Use correct default values for proto messages

* Remove redundant CanonicalBlockID from tendermint proto

* change IBC unitTests to use protoc generated proto

* Extend the block header verification testing for tendermint lighclient

Add tests for adjacent block verification.
Add tests for malicous block updates and frezing client.
Adapt client structure to implement ILightClient.
Add temporary implementation of membership verification.

* Fix merge issues

* Remove tendermint interface implemenation to allow for unit tests at current stage

	In future branch verifyMembership should require positive result and return void

* Add simple mock lightclient to test handler logic

* remove built in height decoding in consensus state

* Adapt IBC core to lightclient design

	* Add request timeout to do "nonMembershipProofs"
	* Add timeoutPacket handle to core, handler and module interface
	* Remove deprecated rlp-proto structs
	* Adapt eventlog to fit relay design
	* Change most instance varaible DBs to static to get below variable limit in goloop

* Adapt client verification and update to fit java score

* Add null checks before proto decodings

---------

Co-authored-by: redlarva <91685111+redlarva@users.noreply.github.com>

* fix(javascore): fix method name used for encoding integers in javascore proto generator (#155)

fix(javascore): fix method name used for encoding integers in javascore prot generator

Signed-off-by: Night Owl <nightowl121@protonmail.com>

* Allow for version number during proto genenartion in java

---------

Signed-off-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: Hemanth Kumar <96766939+hemz10@users.noreply.github.com>
Co-authored-by: hemz10 <sph2740@example.com>
Co-authored-by: Prathiksha-Nataraja <90592522+Prathiksha-Nataraja@users.noreply.github.com>
Co-authored-by: shreyasbhat0 <shreyas.ks@hugobyte.com>
Co-authored-by: Shreyas S Bhat <35568964+shreyasbhat0@users.noreply.github.com>
Co-authored-by: Night Owl <91905208+nightowl121@users.noreply.github.com>
Co-authored-by: viveksharmapoudel <viveksharmapoudel@gmail.com>
Co-authored-by: Muhammed Irfan <50794925+MuhammedIrfan@users.noreply.github.com>
Co-authored-by: Night Owl <nightowl121@protonmail.com>
Co-authored-by: red__larva <red.x.larva@protonmail.com>
Co-authored-by: redlarva <91685111+redlarva@users.noreply.github.com>
ibrizsabin pushed a commit that referenced this pull request Feb 23, 2024
* ci: add pr label check and automtic pr labeler

* chore: correct label name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants