{"id":378,"date":"2022-08-08T12:00:39","date_gmt":"2022-08-08T10:00:39","guid":{"rendered":"https:\/\/ackeeblockchain.com\/blog\/?p=378"},"modified":"2022-10-31T10:45:52","modified_gmt":"2022-10-31T08:45:52","slug":"layerzero-solidity-examples-audit-summary","status":"publish","type":"post","link":"https:\/\/ackee.xyz\/blog\/layerzero-solidity-examples-audit-summary\/","title":{"rendered":"LayerZero: Solidity Examples Audit Summary"},"content":{"rendered":"<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/layerzero.network\/\">LayerZero<\/a>\u00a0engaged <a href=\"https:\/\/ackeeblockchain.com\/\">Ackee Blockchain<\/a>\u00a0to review and <a href=\"https:\/\/ackeeblockchain.com\/blog\/glossary\/audit\/\">audit<\/a> their example<\/span> contracts. This article is a summary of all audits carried out to date:<\/p>\n<ul>\n<li>LzApp + Tokens Audit<\/li>\n<li>Solidity-examples Repository Audit<\/li>\n<li>NativeProxyOFT20.sol (later renamed to NativeOFT.sol) Audit<\/li>\n<\/ul>\n<p>We now publish a summary of our results.<\/p>\n<h4><b>Methodology<\/b><\/h4>\n<p>The methodology of all three audits is as follows.<\/p>\n<div class=\"page\" title=\"Page 7\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p class=\"p1\">We start by reviewing the specifications, sources, and instructions provided to us, which is essential to ensure we understand the project&#8217;s size, scope, and functionality. This is followed by due diligence using the automated <a href=\"https:\/\/ackeeblockchain.com\/blog\/glossary\/solidity\/\">Solidity<\/a> analysis tools and <a href=\"https:\/\/ackeeblockchain.com\/blog\/glossary\/slither\/\">Slither<\/a>.<\/p>\n<p class=\"p1\">In addition to tool-based analysis, we continue with a detailed manual code review, which is the process of reading the source code line by line to identify potential vulnerabilities or code duplications. When the code review is complete, we run unit tests to ensure the system works as expected and potentially write missing unit or fuzzy tests. We also deploy the <a href=\"https:\/\/ackeeblockchain.com\/blog\/glossary\/smart-contract\/\">contracts<\/a> locally and try to attack and break the system.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!--more--><\/p>\n<div class=\"page\" title=\"Page 1\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<h3>LzApp + Tokens Audit<\/h3>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>The audit was conducted between <strong>April 27 and May 3, 2022<\/strong>\u00a0with a total time commitment of<strong> 5 <a href=\"https:\/\/ackeeblockchain.com\/blog\/glossary\/engineering-days\/\">engineering days<\/a><\/strong>.<\/p>\n<div class=\"page\" title=\"Page 7\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><b>Scope\u00a0<\/b><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><span style=\"font-weight: 400;\">We audited commit <\/span><a href=\"https:\/\/github.com\/LayerZero-Labs\/solidity-examples\/commit\/87941ce6160f27a4057372e78c552c780baae524\"><em>87941ce6160f27a4057372e78c552c780baae524<\/em><\/a><em>\u00a0<\/em>of the <a href=\"https:\/\/github.com\/LayerZero-Labs\/solidity-examples\">LayerZero-Labs\/solidity-examples<\/a>\u00a0repository, specifically contracts: <em>contracts\/lzApp, contracts\/tokens.<\/em><\/p>\n<p>During the security review,\u00a0<strong>we paid particular attention to<\/strong>:<\/p>\n<ul>\n<li>checking if nobody can exploit the system;<\/li>\n<li>ensuring access controls are not too weak;<\/li>\n<li>checking the architecture;<\/li>\n<li>checking the code quality and Solidity best practices;<\/li>\n<li>looking for common issues such as data validation.<\/li>\n<\/ul>\n<h4><b>Findings<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Here we present our <a href=\"https:\/\/ackeeblockchain.com\/blog\/glossary\/findings\/\">findings<\/a>.<\/span><\/p>\n<h5><b>Critical severity\u00a0<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">No critical severity issues were found.<\/span><\/p>\n<h5><b>High severity\u00a0<\/b><\/h5>\n<p><strong>H1: <\/strong>Burn address issue<\/p>\n<h5><b>Medium severity<\/b><\/h5>\n<div class=\"page\" title=\"Page 13\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>M1: <\/strong>Condition bypass<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h5><b>Low severity<\/b><\/h5>\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-weight: 400;\">No low severity issues were found.<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h5><b>Warning severity\u00a0<\/b><\/h5>\n<p><strong>W1:<\/strong> Low test coverage<\/p>\n<p><strong>W2: <\/strong>Code duplication<\/p>\n<p><strong>W3:<\/strong> ERC721, ERC1155 reentrancy<\/p>\n<p><strong>W4:<\/strong> Unresolved TODO<\/p>\n<p><strong>W5:<\/strong> Unintended feature &#8211; Renounce ownership<\/p>\n<h5><b>Informational severity\u00a0<\/b><\/h5>\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>I1: <\/strong>Public functions can be external<\/p>\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>I2: <\/strong>Missing require message<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>I3: <\/strong>Missing zero length handling<\/p>\n<p><strong>I4:<\/strong> Missing documentation<\/p>\n<p><strong>I5:<\/strong> Hardcoded types<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h4><b>Conclusion<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Our review resulted in <strong>12\u00a0findings<\/strong> ranging from <\/span><i><span style=\"font-weight: 400;\">Informational<\/span><\/i><span style=\"font-weight: 400;\"> to <\/span><i><span style=\"font-weight: 400;\">High<\/span><\/i><span style=\"font-weight: 400;\">\u00a0severity. <\/span><\/p>\n<div class=\"page\" title=\"Page 6\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p>The code quality is solid. However, we identified a few code duplications, so the inheritance could have been designed better. Also, the unit test coverage is insufficient for some of the contracts reviewed. Although the code is simple, easy to understand, and contains few comments, it is a good practice to cover the code using NatSpec documentation.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"page\" title=\"Page 9\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>We recommended LayerZero to:<\/strong><\/p>\n<ul>\n<li>avoid code duplications;<\/li>\n<li>increase unit test coverage;<\/li>\n<li>use NatSpec documentation.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p><b>Update:<\/b> LayerZero provided an updated codebase that addresses the reported issues and we performed the fix review between<strong> May 11 and 13, 2022<\/strong>. The re-audit was done on the following commit<em> <a href=\"https:\/\/github.com\/LayerZero-Labs\/solidity-examples\/commit\/865a1ab26759b5754e5ca51f11a5f1594c6f11ba\">865a1ab26759b5754e5ca51f11a5f1594c6f11ba<\/a>.<\/em><\/p>\n<p>All of the findings were acknowledged and some of them fixed (H1, W2, W4, I2, I5, partially W1). A detailed discussion of the exact status of each issue can be found in the full audit report.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: left;\"><b>Ackee Blockchain&#8217;s full <em>LzApp + Tokens<\/em> audit report with a more detailed description of all findings and recommendations can be found <\/b><a href=\"https:\/\/github.com\/LayerZero-Labs\/solidity-examples\/blob\/main\/audit\/Ackee_Audit_Solidty_Examples_May_3.pdf\"><strong>here<\/strong><\/a><b>.<\/b><\/p>\n<div class=\"page\" title=\"Page 1\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<h3>Solidity-examples Repository Audit<\/h3>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>The audit was conducted between <strong>June 15 and June 26, 2022<\/strong>\u00a0with a total time commitment of<strong> 7 <a href=\"https:\/\/ackeeblockchain.com\/blog\/glossary\/engineering-days\/\">engineering days<\/a><\/strong>.<\/p>\n<div class=\"page\" title=\"Page 7\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><b>Scope\u00a0<\/b><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><span style=\"font-weight: 400;\">We audited commit <\/span><a href=\"https:\/\/github.com\/LayerZero-Labs\/solidity-examples\/commit\/c7525a549a8db3fb54a89620409bf29c89f23899\"><em>c7525a549a8db3fb54a89620409bf29c89f23899<\/em><\/a> of the <a href=\"https:\/\/github.com\/LayerZero-Labs\/solidity-examples\">LayerZero-Labs\/solidity-examples<\/a> repository.<\/p>\n<p>During the security review,\u00a0<strong>we paid particular attention to<\/strong>:<\/p>\n<ul>\n<li>detecting possible reentrancies in the code;<\/li>\n<li>ensuring the proper handling of the tokens during the cross-chain messages;<\/li>\n<li>ensuring access controls are not too relaxed or too strict;<\/li>\n<li>looking for common issues such as data validation.<\/li>\n<\/ul>\n<h4><b>Findings<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Here we present our <a href=\"https:\/\/ackeeblockchain.com\/blog\/glossary\/findings\/\">findings<\/a>.<\/span><\/p>\n<h5><b>Critical severity\u00a0<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">No critical severity issues were found.<\/span><\/p>\n<h5><b>High severity\u00a0<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">No high severity issues were found.<\/span><\/p>\n<h5><b>Medium severity<\/b><\/h5>\n<div class=\"page\" title=\"Page 13\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<div class=\"page\" title=\"Page 16\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>M1:<\/strong> Renounce ownership<\/p>\n<div class=\"page\" title=\"Page 16\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>M2:<\/strong> Dangerous transfer ownership<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h5><b>Low severity<\/b><\/h5>\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-weight: 400;\">No low severity issues were found.<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h5><b>Warning severity\u00a0<\/b><\/h5>\n<div class=\"page\" title=\"Page 16\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>W1:<\/strong> Lack of events in state changing functions<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"page\" title=\"Page 16\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>W2:<\/strong> Usage of <span style=\"color: #0000ff;\">solc<\/span> optimizer<\/p>\n<div class=\"page\" title=\"Page 16\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>W3:<\/strong> Floating pragma<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h5><b>Informational severity\u00a0<\/b><\/h5>\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-weight: 400;\">No informational severity issues were found.<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h4><b>Conclusion<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Our review resulted in <strong>5\u00a0findings<\/strong> ranging from <\/span><i><span style=\"font-weight: 400;\">Warning<\/span><\/i><span style=\"font-weight: 400;\"> to <\/span><i><span style=\"font-weight: 400;\">Medium<\/span><\/i><span style=\"font-weight: 400;\">\u00a0severity. <\/span><\/p>\n<div class=\"page\" title=\"Page 6\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<div class=\"page\" title=\"Page 7\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p>The architecture of the project is well designed and allows easy integration for 3rd parties. The tests are written in JavaScript, and they successfully pass. <strong>Code quality is excellent and well documented<\/strong>, essential for the example contracts. LayerZero provides high-quality documentation in the white paper and on the gitbook website.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"page\" title=\"Page 9\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>We recommended LayerZero to:<\/strong><\/p>\n<ul>\n<li>use static analysis tools like Slither;<\/li>\n<li>ensure that the privileged owner role is well maintained;<\/li>\n<li>address all the reported issues.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: left;\"><b>Ackee Blockchain&#8217;s full <em>Solidity-examples repository<\/em>\u00a0audit report with a more detailed description of all findings and recommendations can be found <\/b><a href=\"https:\/\/github.com\/LayerZero-Labs\/solidity-examples\/blob\/main\/audit\/Ackee_Audit_Solidty_Examples_July_27.pdf\"><strong>here<\/strong><\/a><b>.<\/b><\/p>\n<div class=\"page\" title=\"Page 1\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<h3>Solidity Examples NativeProxy Audit<\/h3>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>The audit was conducted between <strong>August 3 and 8, 2022<\/strong>\u00a0with a total time commitment of<strong> 5 <a href=\"https:\/\/ackeeblockchain.com\/blog\/glossary\/engineering-days\/\">engineering days<\/a><\/strong>.<\/p>\n<div class=\"page\" title=\"Page 7\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><b>Scope\u00a0<\/b><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><span style=\"font-weight: 400;\">We audited commit <\/span><a href=\"https:\/\/github.com\/LayerZero-Labs\/solidity-examples\/commit\/b0bd359e8affb782da83915fe06be8b3a7cc34c7\">b0bd359e8affb782da83915fe06be8b3a7cc34c7<\/a> of the <a href=\"https:\/\/github.com\/LayerZero-Labs\/solidity-examples\">LayerZero-Labs\/solidity-examples<\/a> repository.<\/p>\n<p>During the security review,\u00a0<strong>we paid particular attention to<\/strong>:<\/p>\n<ul>\n<li>detecting possible reentrancies in the code;<\/li>\n<li>ensuring the proper handling of the tokens during the cross-chain messages;<\/li>\n<li>ensuring access controls are not too relaxed or too strict;<\/li>\n<li>looking for common issues such as data validation.<\/li>\n<\/ul>\n<h4><b>Findings<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Here we present our <a href=\"https:\/\/ackeeblockchain.com\/blog\/glossary\/findings\/\">findings<\/a>.<\/span><\/p>\n<h5><b>Critical severity\u00a0<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">No critical severity issues were found.<\/span><\/p>\n<h5><b>High severity\u00a0<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">No high severity issues were found.<\/span><\/p>\n<h5><b>Medium severity<\/b><\/h5>\n<div class=\"page\" title=\"Page 13\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<div class=\"page\" title=\"Page 13\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>M1:<\/strong> Accepting messages from untrusted remotes<\/p>\n<div class=\"page\" title=\"Page 13\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>M2:<\/strong> Constructor data validation<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h5><b>Low severity<\/b><\/h5>\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<div class=\"page\" title=\"Page 13\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>L1:<\/strong> Ownable pattern<\/p>\n<div class=\"page\" title=\"Page 13\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>L2:<\/strong> Missing override for ERC165<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h5><b>Warning severity\u00a0<\/b><\/h5>\n<div class=\"page\" title=\"Page 13\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>W1:<\/strong> Usage of <span style=\"color: #0000ff;\">solc<\/span> optimizer<\/p>\n<div class=\"page\" title=\"Page 13\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>W2:<\/strong> Recent <span style=\"color: #0000ff;\">solc<\/span> version<\/p>\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>W3:<\/strong> Empty<span style=\"color: #0000ff;\"> _srcAddress<\/span> can bypass trusted remote check<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>W4:<\/strong> Unused <span style=\"color: #0000ff;\">_lzSend()<\/span> function<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h5><b>Informational severity\u00a0<\/b><\/h5>\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>I1:<\/strong> Coding practice<\/p>\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>I2:<\/strong> Zero token transfer<\/p>\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>I3:<\/strong> Public functions<\/p>\n<div class=\"page\" title=\"Page 14\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>I4:<\/strong> Unused SafeERC20<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h4><b>Conclusion<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Our review resulted in <strong>12\u00a0findings<\/strong> ranging from <\/span><i><span style=\"font-weight: 400;\">Informational<\/span><\/i><span style=\"font-weight: 400;\"> to <\/span><i><span style=\"font-weight: 400;\">Medium<\/span><\/i><span style=\"font-weight: 400;\">\u00a0severity.<\/span><\/p>\n<div class=\"page\" title=\"Page 9\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>We recommended LayerZero to:<\/strong><\/p>\n<ul>\n<li>address all the reported issues.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: left;\"><b>Ackee Blockchain&#8217;s full <\/b><em><strong>Solidity Examples NativeProxy <\/strong><\/em><b>audit report with a more detailed description of all findings and recommendations can be found <\/b><a href=\"https:\/\/github.com\/LayerZero-Labs\/solidity-examples\/blob\/main\/audit\/Ackee_Audit_Solidty_Examples_Aug_8.pdf\"><strong>here<\/strong><\/a><b>.<\/b><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">We were delighted to audit<\/span><b> LayerZero<\/b><span style=\"font-weight: 400;\">\u00a0and look forward to working with them again.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>LayerZero\u00a0engaged Ackee Blockchain\u00a0to review and audit their example contracts. This article is a summary of all audits carried out to date: LzApp + Tokens Audit Solidity-examples Repository Audit NativeProxyOFT20.sol (later renamed to NativeOFT.sol) Audit We now publish a summary of our results. Methodology The methodology of all three audits is as follows. We start by reviewing the specifications, sources, and instructions provided&hellip;<\/p>\n","protected":false},"author":11,"featured_media":384,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,10],"tags":[21,27,26,24,33,55,64,28],"class_list":["post-378","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-audits","category-ethereum","tag-audit","tag-blockchain","tag-cryptocurrency","tag-ethereum","tag-evm","tag-layerzero","tag-security","tag-smart-contract"],"aioseo_notices":[],"featured_image_src":"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2022\/10\/LayerZero-600x400.png","featured_image_src_square":"https:\/\/ackee.xyz\/blog\/wp-content\/uploads\/2022\/10\/LayerZero-600x600.png","author_info":{"display_name":"Andrea Nov\u00e1kov\u00e1","author_link":"https:\/\/ackee.xyz\/blog\/author\/andrea-novakova\/"},"_links":{"self":[{"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/posts\/378","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\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/comments?post=378"}],"version-history":[{"count":0,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/posts\/378\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/media\/384"}],"wp:attachment":[{"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/media?parent=378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/categories?post=378"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ackee.xyz\/blog\/wp-json\/wp\/v2\/tags?post=378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}