Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add solidity multi protocol xCall (#86)
* feat: setup foundry structure (#79) * remove msg encoding in encodeCSMessageResponse * chore: forge init * forge install: forge-std v1.6.1 * initial foundry setup * forge install: openzeppelin-contracts-upgradeable v4.9.3 * forge install: openzeppelin-contracts v4.9.3 * add contract setup script for Callservice for Xcall * add initial test setup for Xcall * feat: testcase set admin (#80) * add setAdmin testCases - setAdmin by Owner - setAdmin by unauthorized caller --------- Co-authored-by: AntonAndell <[email protected]> * feat: testcase set protocol fee (#81) * add setProtocolFee and getProtocolFee testCases - setProtocolFee by Owner - setProtocolFee by added admin - setProtocolFee by unauthrorized user --------- Co-authored-by: AntonAndell <[email protected]> * feat: testcase set protocol fee handler (#82) * add setProtocolFeeHandler and getProtocolFeeHandler testCases - setProtocolFeeHandler by Owner/Admin - setProtocolFee by unauthrorized user --------- Co-authored-by: AntonAndell <[email protected]> * fix: add default connection setter (#87) * add defaultConnection check on sendCallMessage * add defaultConnection setter for xCall * add revert messages on require() * fix: rlp encode library encoding fix for protocols (#89) * update encodeCSMessageRequest with protocol encoded code * feat: handle requests multiple testcases (#90) * add defaultConnection check on sendCallMessage * add defaultConnection setter for xCall * add revert messages on require() * - add CallMessage eventLog for assertion - Add Connection instances - Add required const variables for netTo for NID and dstAccount for addr * add testCase for HandleResponse - DefaultProtocol with access - DefaultProtocol with unauthorized access * TestCases - handleResponse with singleProtocol - handleResponse with singleProtocol by unauthorized * TestCases - handleResponse with MultiProtocol --------- Co-authored-by: AntonAndell <[email protected]> * add successfulResponses record for responses * update successfulResponses variable after response is success * feat: execute call testcases (#91) * TestCases - executeCall using singleProtocol * Add `CallExecuted` eventlogs for assertions * TestCases - executeCall using defaultProtocol * TestCases - executeCall using multiProtocols * fix: clearing out unused code (#98) * fix: clearing out unused code * fix: clearing out contract part in library --------- Co-authored-by: AntonAndell <[email protected]> * docs: solidity xcall deployment (#99) * update solidity document to deploy tthe contract as well as getting ready with forge commands * update solidity document to deploy tthe contract as well as getting ready with forge commands * feat: rollback testcases (#92) * TestCases - Rollback using singleProtocol * TestCases - Rollback using DefaultProtocol - Rollback using DefaultProtocol NotAuthorized * TestCases - Rollback using MultiProtocol - Rollback with SuccessMessage * fix rollbackSuccess testcase to remove rollbackMessage eventlog * remove rollbackMessage eventlogs from executeCall() * feat: execute rollback testcases (#93) * - Fix variables - Fix Imports - TestCases - ExecuteRollback using SingleProtocol - ExecuteRollback with DefaultProtocol - ExecuteRollback using MultiProtocol * fix executeRollack testcases * fix: testcase for send call message (#88) * fix sendCallMessageSingleProtocol testCase * add `CallMessgeSent` eventLog for test * add testCase for sendMessage using multiProtocol * add testCase for sendMessage using defaultProtocol * Fix expectCall on sendMessage TestCases --------- Co-authored-by: AntonAndell <[email protected]> * fix: deployment script updated (#100) * fix: deployment script updated * fix: foundry.toml * fix: nid taken from env * update deployment script to add the setup params for xcall-multi * update deploy script on shellScript file to deploy the contracts easily from CLI * add .env example file to follow to deploy the xcall --------- Co-authored-by: sdpbhandari <[email protected]> * fix: add verify success test cases (#101) * fix imports error after merge * Fix verifySuccess() Add assert on verifySuccess for rollback tests Add assert on verifySuccess for executeRollback tests * tests: Fix testExecuteRollbackMultiProtocol test * feat: ci add solidity code coverages (#140) * ci: add solidity coverage workflow * ci: test codcov workflow --------- Co-authored-by: Deepak Bomjan <[email protected]> * refactor: evm folder structure * fix: solidity xcall cod coverage * feat: added evm multiprotocol dapp * fix: removed unnecessary imports * fix: remove cache file * fix: add cache to gitignore * fix: Add full expects of sendMessage to connections * Ignore libraries in solidity code coverage --------- Co-authored-by: Sudeep Bhandari <[email protected]> Co-authored-by: gcranju <[email protected]> Co-authored-by: Deepak Bomjan <[email protected]> Co-authored-by: red__larva <[email protected]> Co-authored-by: qwerty0789 <[email protected]>
- Loading branch information