Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(javascore): IIBC-108 Implement tendermint lightclient contract (#57
) * 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>
- Loading branch information