{"version":1,"pages":[{"id":"aLzlXlf8uGeVHrgdm3sb","title":"Guardian - Solidity Lab","pathname":"/","siteSpaceId":"sitesp_duqBQ","emoji":"1f9ea","description":"Securing the Bleeding Edge of Blockchain"},{"id":"KfIKASMkc78sCpimWu08","title":"Encyclopedia of Solidity Attack Vectors","pathname":"/encyclopedia-of-solidity-attack-vectors","siteSpaceId":"sitesp_duqBQ","emoji":"1f4da","description":"Every known solidity attack vector."},{"id":"eWbF1cQ1vKoPEwWUjvfn","title":"Reentrancy","pathname":"/encyclopedia-of-solidity-attack-vectors/reentrancy","siteSpaceId":"sitesp_duqBQ","emoji":"1f501","description":"","breadcrumbs":[{"label":"Encyclopedia of Solidity Attack Vectors","emoji":"1f4da"}]},{"id":"vDTrCIzGOXVwQtetk2AQ","title":"Contract Cannot Accept Ether DoS","pathname":"/encyclopedia-of-solidity-attack-vectors/contract-cannot-accept-ether-dos","siteSpaceId":"sitesp_duqBQ","emoji":"270b","description":"","breadcrumbs":[{"label":"Encyclopedia of Solidity Attack Vectors","emoji":"1f4da"}]},{"id":"TO29AEaBArqTdiiEiYq8","title":"Gas Griefing","pathname":"/encyclopedia-of-solidity-attack-vectors/gas-griefing","siteSpaceId":"sitesp_duqBQ","emoji":"26fd","description":"","breadcrumbs":[{"label":"Encyclopedia of Solidity Attack Vectors","emoji":"1f4da"}]},{"id":"4fPklQLHopVCDWUUhjol","title":"isContract Manipulation","pathname":"/encyclopedia-of-solidity-attack-vectors/iscontract-manipulation","siteSpaceId":"sitesp_duqBQ","emoji":"1f47f","description":"","breadcrumbs":[{"label":"Encyclopedia of Solidity Attack Vectors","emoji":"1f4da"}]},{"id":"WA0bSn5QAgslzK3Ffdxt","title":"🏃♂ 🏃♂ Front/Back-Running","pathname":"/encyclopedia-of-solidity-attack-vectors/front-back-running","siteSpaceId":"sitesp_duqBQ","emoji":"1f3c3-2642","description":"","breadcrumbs":[{"label":"Encyclopedia of Solidity Attack Vectors","emoji":"1f4da"}]},{"id":"8rpE92icba2TehtyXRvI","title":"External Call Reverts DoS","pathname":"/encyclopedia-of-solidity-attack-vectors/external-call-reverts-dos","siteSpaceId":"sitesp_duqBQ","emoji":"23ea","description":"","breadcrumbs":[{"label":"Encyclopedia of Solidity Attack Vectors","emoji":"1f4da"}]},{"id":"EN2RurZWt0yrhCzDlByt","title":"block.timestamp Manipulation","pathname":"/encyclopedia-of-solidity-attack-vectors/block.timestamp-manipulation","siteSpaceId":"sitesp_duqBQ","emoji":"1f550","description":"","breadcrumbs":[{"label":"Encyclopedia of Solidity Attack Vectors","emoji":"1f4da"}]},{"id":"GHgVaf3KzK3X33HOEcWP","title":"tx.origin Phishing Attack","pathname":"/encyclopedia-of-solidity-attack-vectors/tx.origin-phishing-attack","siteSpaceId":"sitesp_duqBQ","emoji":"1f3a3","description":"","breadcrumbs":[{"label":"Encyclopedia of Solidity Attack Vectors","emoji":"1f4da"}]},{"id":"oAbA5EZ9ppdnFgnhNTcz","title":"Directly Sending Funds","pathname":"/encyclopedia-of-solidity-attack-vectors/directly-sending-funds","siteSpaceId":"sitesp_duqBQ","emoji":"1f4e9","description":"","breadcrumbs":[{"label":"Encyclopedia of Solidity Attack Vectors","emoji":"1f4da"}]},{"id":"Ll74oBLX9JknQ2P9DzRf","title":"Signature Malleability","pathname":"/encyclopedia-of-solidity-attack-vectors/signature-malleability","siteSpaceId":"sitesp_duqBQ","emoji":"270d","description":"","breadcrumbs":[{"label":"Encyclopedia of Solidity Attack Vectors","emoji":"1f4da"}]},{"id":"82zhZdAErbJ9TqodmA2s","title":"Encyclopedia of Common Solidity Bugs","pathname":"/encyclopedia-of-common-solidity-bugs","siteSpaceId":"sitesp_duqBQ","emoji":"1f4da","description":"Every known common solidity bug"},{"id":"KWp3vXwZXUQzbAlvi9O7","title":"Division Precision Loss","pathname":"/encyclopedia-of-common-solidity-bugs/division-precision-loss","siteSpaceId":"sitesp_duqBQ","emoji":"2797","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"uanCLR6dGtrasDtXnNWr","title":"Unexpected Panic Revert","pathname":"/encyclopedia-of-common-solidity-bugs/unexpected-panic-revert","siteSpaceId":"sitesp_duqBQ","emoji":"203c","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"N12Q8cqqVDhh4yelg1wL","title":"Matching to/from Addresses","pathname":"/encyclopedia-of-common-solidity-bugs/matching-to-from-addresses","siteSpaceId":"sitesp_duqBQ","emoji":"1f46c","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"Wyl6zTOsRFlN7QCGB6Cu","title":"Forget to Update Parallel Data Structures","pathname":"/encyclopedia-of-common-solidity-bugs/forget-to-update-parallel-data-structures","siteSpaceId":"sitesp_duqBQ","emoji":"23f8","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"ncvutVLp7ovWbg64y3yA","title":"Lack of Success Checks","pathname":"/encyclopedia-of-common-solidity-bugs/lack-of-success-checks","siteSpaceId":"sitesp_duqBQ","emoji":"1f6ab","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"Sn0uCsaoVBIU8Qro1H9D","title":"🤷♂ 🤷♂ Lack of Access Control","pathname":"/encyclopedia-of-common-solidity-bugs/lack-of-access-control","siteSpaceId":"sitesp_duqBQ","emoji":"1f937-2642","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"MqPzo1FshULn6rWmb9tw","title":"Inaccurate Allowance","pathname":"/encyclopedia-of-common-solidity-bugs/inaccurate-allowance","siteSpaceId":"sitesp_duqBQ","emoji":"1f4dd","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"2gc9nXO81e1TQEhS6uKo","title":"Overflow/Underflow","pathname":"/encyclopedia-of-common-solidity-bugs/overflow-underflow","siteSpaceId":"sitesp_duqBQ","emoji":"1f53c","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"HQZms5obsjgB2i1bathO","title":"Unsafe ERC20 Operations","pathname":"/encyclopedia-of-common-solidity-bugs/unsafe-erc20-operations","siteSpaceId":"sitesp_duqBQ","emoji":"1f4b2","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"D5o6InUBfTBEVH9cHKBI","title":"Lack of Exception Handling","pathname":"/encyclopedia-of-common-solidity-bugs/lack-of-exception-handling","siteSpaceId":"sitesp_duqBQ","emoji":"1f9ba","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"z31sV1sSQGpRIvorVfqj","title":"Duplicate Values","pathname":"/encyclopedia-of-common-solidity-bugs/duplicate-values","siteSpaceId":"sitesp_duqBQ","emoji":"2716","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"FBVgTEGRjBauHGRLfbdR","title":"Asymmetrical Code","pathname":"/encyclopedia-of-common-solidity-bugs/asymmetrical-code","siteSpaceId":"sitesp_duqBQ","emoji":"2696","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"SsIl3BrqmqBbSszceY6c","title":"Constant Protocol Parameters","pathname":"/encyclopedia-of-common-solidity-bugs/constant-protocol-parameters","siteSpaceId":"sitesp_duqBQ","emoji":"1f6d1","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"uuaDpZ2QPycgU11WWvJn","title":"Storage Not Updated","pathname":"/encyclopedia-of-common-solidity-bugs/storage-not-updated","siteSpaceId":"sitesp_duqBQ","emoji":"2b06","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"xeVbRwraqzmYnz7v2x88","title":"Delete Item, Unupdated Index","pathname":"/encyclopedia-of-common-solidity-bugs/delete-item-unupdated-index","siteSpaceId":"sitesp_duqBQ","emoji":"1f575","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"nFsSANTWgCG2ZVDvoplT","title":"Native vs Wrapped Handling","pathname":"/encyclopedia-of-common-solidity-bugs/native-vs-wrapped-handling","siteSpaceId":"sitesp_duqBQ","emoji":"1f381","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"YLJ45cy1Mf3bd80c4MQc","title":"1⃣ 1⃣ 1⃣ Off By 1","pathname":"/encyclopedia-of-common-solidity-bugs/off-by-1","siteSpaceId":"sitesp_duqBQ","description":"","breadcrumbs":[{"label":"Encyclopedia of Common Solidity Bugs","emoji":"1f4da"}]},{"id":"xicTYHwkHlVQnvSbz3Yg","title":"Encyclopedia of Security Research","pathname":"/encyclopedia-of-security-research","siteSpaceId":"sitesp_duqBQ","description":"Every known common solidity bug"},{"id":"SCsHbRqdisaHpCtTalAk","title":"Uniswap","pathname":"/encyclopedia-of-security-research/uniswap","siteSpaceId":"sitesp_duqBQ","description":"","breadcrumbs":[{"label":"Encyclopedia of Security Research"}]},{"id":"IbOmPMj4EtFxGHO61t2k","title":"LayerZero","pathname":"/encyclopedia-of-security-research/layerzero","siteSpaceId":"sitesp_duqBQ","description":"","breadcrumbs":[{"label":"Encyclopedia of Security Research"}]},{"id":"HFpjWcxdXGsNA6PbJBHC","title":"Whitelists","pathname":"/encyclopedia-of-security-research/whitelists","siteSpaceId":"sitesp_duqBQ","description":"","breadcrumbs":[{"label":"Encyclopedia of Security Research"}]},{"id":"DH5nMpJZKa8isYDBMVpN","title":"Interfaces","pathname":"/encyclopedia-of-security-research/interfaces","siteSpaceId":"sitesp_duqBQ","description":"","breadcrumbs":[{"label":"Encyclopedia of Security Research"}]},{"id":"zOWRjSexjOq9Qry4gglW","title":"The Auditors Handbook","pathname":"/the-auditors-handbook","siteSpaceId":"sitesp_duqBQ","emoji":"1f4d9","description":"An auditor's best friend in the wild world of crypto"},{"id":"h6jC66gyDh8J0Vs0pDig","title":"The Auditing Process","pathname":"/the-auditors-handbook/the-auditing-process","siteSpaceId":"sitesp_duqBQ","emoji":"1f4dd","description":"The all-in-one guide to the smart contract audit process","breadcrumbs":[{"label":"The Auditors Handbook","emoji":"1f4d9"}]},{"id":"UYkK7b6iXQbuBUbXBvEY","title":"0⃣ Audit Setup/Preparation","pathname":"/the-auditors-handbook/the-auditing-process/audit-setup-preparation","siteSpaceId":"sitesp_duqBQ","description":"The ideal setup and prep for an audit","breadcrumbs":[{"label":"The Auditors Handbook","emoji":"1f4d9"},{"label":"The Auditing Process","emoji":"1f4dd"}]},{"id":"xZyVt7NH1dYuHNLHFgOX","title":"1⃣ Beginning The Audit","pathname":"/the-auditors-handbook/the-auditing-process/beginning-the-audit","siteSpaceId":"sitesp_duqBQ","description":"The audit begins...","breadcrumbs":[{"label":"The Auditors Handbook","emoji":"1f4d9"},{"label":"The Auditing Process","emoji":"1f4dd"}]},{"id":"SKPbwrDwWr211yltc14T","title":"2⃣ The Meat of The Audit","pathname":"/the-auditors-handbook/the-auditing-process/the-meat-of-the-audit","siteSpaceId":"sitesp_duqBQ","description":"Digging in","breadcrumbs":[{"label":"The Auditors Handbook","emoji":"1f4d9"},{"label":"The Auditing Process","emoji":"1f4dd"}]},{"id":"AjgvsciArz734kS3HCbR","title":"3⃣ Writing Tests & PoCs","pathname":"/the-auditors-handbook/the-auditing-process/writing-tests-and-pocs","siteSpaceId":"sitesp_duqBQ","description":"Time to test!","breadcrumbs":[{"label":"The Auditors Handbook","emoji":"1f4d9"},{"label":"The Auditing Process","emoji":"1f4dd"}]},{"id":"yB9LOMgLgu6IJf3aEQsh","title":"4⃣ Wrapping Up The Audit","pathname":"/the-auditors-handbook/the-auditing-process/wrapping-up-the-audit","siteSpaceId":"sitesp_duqBQ","description":"It's been fun","breadcrumbs":[{"label":"The Auditors Handbook","emoji":"1f4d9"},{"label":"The Auditing Process","emoji":"1f4dd"}]},{"id":"NJG9rqVUSyMX8A8TEA6r","title":"5⃣ After The Audit","pathname":"/the-auditors-handbook/the-auditing-process/after-the-audit","siteSpaceId":"sitesp_duqBQ","description":"It's not over!","breadcrumbs":[{"label":"The Auditors Handbook","emoji":"1f4d9"},{"label":"The Auditing Process","emoji":"1f4dd"}]},{"id":"cqIYKGamEgEpebrffOFf","title":"6⃣ Addendum","pathname":"/the-auditors-handbook/the-auditing-process/addendum","siteSpaceId":"sitesp_duqBQ","description":"","breadcrumbs":[{"label":"The Auditors Handbook","emoji":"1f4d9"},{"label":"The Auditing Process","emoji":"1f4dd"}]}]}