{"id":867,"date":"2024-07-09T15:57:31","date_gmt":"2024-07-09T13:57:31","guid":{"rendered":"https:\/\/ackee.xyz\/blog\/?p=867"},"modified":"2024-07-10T12:39:22","modified_gmt":"2024-07-10T10:39:22","slug":"catalysts-incentivized-message-escrow-revision-2-0-agudit-summary","status":"publish","type":"post","link":"https:\/\/ackee.xyz\/blog\/catalysts-incentivized-message-escrow-revision-2-0-agudit-summary\/","title":{"rendered":"Catalyst\u2019s Incentivized Message Escrow Revision 2.0 Audit Summary"},"content":{"rendered":"<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/catalyst.exchange\/\" target=\"_blank\" rel=\"noopener\">Catalyst<\/a> enables direct atomic swaps between different blockchains, such as Ethereum, Cosmos, and rollups like Optimism and Eclipse \u2014 eliminating the need for bridged assets.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Catalyst\u2019s Incentivized Message Escrow protocol serves as an abstraction layer between Arbitrary Message Bridges and the applications that use them. It allows applications to send messages across chains in a trustless manner. The protocol is designed to be chain-agnostic, meaning that it can be used with any blockchain compatible with EVM.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Catalyst engaged Ackee Blockchain to perform a security review of the changes to the Generalised Incentives protocol. The smart contracts had previously been audited with a total time donation of 10 engineering days in a period between April 15 and April 26, 2024. The previous Catalyst audit summary covers Revisions 1.0 and 1.1. This audit summary focuses on the methodology, findings, and recommendations of Revision 2.0 and 2.1.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">METHODOLOGY<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">We began our review by using static analysis tools, namely Wake. We then took a deep dive into the logic of the contracts and used Wake testing framework for cross-chain testing.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">While the total scope included several minor changes in several contracts, the main goal of the review was to verify the correctness of integrating the Incentivized Message Escrow protocol with the LayerZero AMB.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">SCOPE<\/span><\/h2>\n<p><b>Revision 2.0<\/b> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">The audit was performed on the commit bb8c4d9 and the scope included all the changes from <\/span><a href=\"https:\/\/github.com\/catalystdao\/GeneralisedIncentives\/pull\/52\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">PR#52<\/span><\/a><span style=\"font-weight: 400;\"> up to the commit bb8c4d9\u00a0\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><b>Revision 2.1<\/b> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">The review was done on multiple commits from several pull requests:<\/span><\/p>\n<ul>\n<li><span style=\"font-weight: 400;\"> The issue W11 was fixed in PR#55, commit 040e175<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> The issue W12 was fixed in PR#54, commit 0d9f2ba<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> The issue I4 was fixed in PR#56, commit db0c96e<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Out of the 4 findings, 3 were fixed, and one was acknowledged, namely W10.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">FINDINGS<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Here we present our findings.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Critical severity<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">No critical severity issues were found.\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">High severity<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">No high severity issues were found.\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Medium severity<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">No medium severity issues were found.\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Low severity<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">No low severity issues were found.\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Warning severity<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">W10: Non-standard use of the LayerZero tech stack<\/span><\/p>\n<p><span style=\"font-weight: 400;\">W11: Incorrect SPDX license identifier<\/span><\/p>\n<p><span style=\"font-weight: 400;\">W12: Unused code<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Information severity<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">I4: Typos<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">CONCLUSION<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Our review resulted in 4 findings, ranging from Information to Warning severity. The potentially most impactful issue is the non-standard usage of the LayerZero stack, or W10.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><b>Ackee Blockchain recommends Catalyst to:<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">consider changing the design of the LayerZero integration to a more standard approach or contacting the LayerZero team for a review,<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">fix typos in the documentation,<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">remove unused code,<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">address all other reported issues.<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><b>Ackee Blockchain\u2019s full Catalyst audit report with a more detailed description of all findings and recommendations can be found <a href=\"https:\/\/github.com\/catalystdao\/GeneralisedIncentives\/blob\/main\/audit\/ackee-blockchain-catalyst-generalised-incentives-report.pdf\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/b><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">We were delighted to audit Catalyst and look forward to working with them again.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Catalyst enables direct atomic swaps between different blockchains, such as Ethereum, Cosmos, and rollups like Optimism and Eclipse \u2014 eliminating the need for bridged assets. Catalyst\u2019s Incentivized Message Escrow protocol serves as an abstraction layer between Arbitrary Message Bridges and the applications that use them. It allows applications to send messages across chains in a trustless manner. The protocol is designed to&hellip;<\/p>\n","protected":false},"author":22,"featured_media":868,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,10],"tags":[124,55],"class_list":["post-867","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-audits","category-ethereum","tag-catalyst","tag-layerzero"],"aioseo_notices":[],"featured_image_src":"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2024\/07\/Catalyst-600x400.png","featured_image_src_square":"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2024\/07\/Catalyst-600x600.png","author_info":{"display_name":"Andrey Babushkin","author_link":"https:\/\/ackee.xyz\/blog\/author\/andrey-babushkin\/"},"_links":{"self":[{"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/posts\/867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/comments?post=867"}],"version-history":[{"count":0,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/posts\/867\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/media\/868"}],"wp:attachment":[{"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/media?parent=867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/categories?post=867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/tags?post=867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}