# Zokyo Auditing Tutorials

## Zokyo Auditing Tutorials

- [Zokyo Auditing Tutorials](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/zokyo-auditing-tutorials.md)
- [Tutorial 1: Front-Running](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-1-front-running.md): Author of tutorial series: Omar Inuwa https://twitter.com/OmarInuwa1
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-1-front-running/prerequisites.md)
- [Understanding Front-Running](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-1-front-running/understanding-front-running.md)
- [Examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-1-front-running/examples.md)
- [Mitigation Steps](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-1-front-running/mitigation-steps.md)
- [Resource Bank to more front running examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-1-front-running/resource-bank-to-more-front-running-examples.md): This page is a open resource where any examples of front running found in bug bounties, audit reports or live attacks are to be added here.
- [Front-Running Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-1-front-running/front-running-conclusion.md)
- [Tutorial 2: Unsafe Casting](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-2-unsafe-casting.md): Author: Omar Inuwa
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-2-unsafe-casting/prerequisites.md)
- [Understanding Casting](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-2-unsafe-casting/understanding-casting.md)
- [Examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-2-unsafe-casting/examples.md)
- [Unsafe Casting Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-2-unsafe-casting/unsafe-casting-conclusion.md)
- [Tutorial 3: Approvals and Safe Approvals](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-3-approvals-and-safe-approvals.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-3-approvals-and-safe-approvals/prerequisites.md)
- [Understanding Approvals](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-3-approvals-and-safe-approvals/understanding-approvals.md)
- [Vulnerability Examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-3-approvals-and-safe-approvals/vulnerability-examples.md)
- [ERC20 Approval Reset Requirement](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-3-approvals-and-safe-approvals/vulnerability-examples/erc20-approval-reset-requirement.md)
- [Ignoring Return Values from ERC20 approve() Function: Potential Miscount of Successful Approvals](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-3-approvals-and-safe-approvals/vulnerability-examples/ignoring-return-values-from-erc20-approve-function-potential-miscount-of-successful-approvals.md)
- [Improper use of Open Zeppelins safeApprove() for Non-zero Allowance Increments](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-3-approvals-and-safe-approvals/vulnerability-examples/improper-use-of-open-zeppelins-safeapprove-for-non-zero-allowance-increments.md)
- [Omitted Approval for Contract Interactions Within a Protocol](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-3-approvals-and-safe-approvals/vulnerability-examples/omitted-approval-for-contract-interactions-within-a-protocol.md)
- [Failing to Reset Token Approvals in Case of Failed Transactions or other actions](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-3-approvals-and-safe-approvals/vulnerability-examples/failing-to-reset-token-approvals-in-case-of-failed-transactions-or-other-actions.md): Watch out for try-catch patterns where a transaction could fail but the code continues meaning that any approvals made before the try-catch block remains
- [Miscellaneous](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-3-approvals-and-safe-approvals/vulnerability-examples/miscellaneous.md)
- [ERC20 Approve Race Condition Vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-3-approvals-and-safe-approvals/vulnerability-examples/erc20-approve-race-condition-vulnerability.md)
- [Spot the Vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-3-approvals-and-safe-approvals/spot-the-vulnerability.md)
- [Approvals and Safe Approvals Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-3-approvals-and-safe-approvals/approvals-and-safe-approvals-conclusion.md)
- [Tutorial 4: Block.chainid, DOMAIN\_SEPARATOR and EIP-2612 permit](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-4-block.chainid-domain_separator-and-eip-2612-permit.md): This vulnerability is prevalent in cross-chain protocols
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-4-block.chainid-domain_separator-and-eip-2612-permit/prerequisites.md)
- [Understanding Block.chainid and DOMAIN\_SEPARATOR](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-4-block.chainid-domain_separator-and-eip-2612-permit/understanding-block.chainid-and-domain_separator.md)
- [Examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-4-block.chainid-domain_separator-and-eip-2612-permit/examples.md)
- [General Mitigation Steps](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-4-block.chainid-domain_separator-and-eip-2612-permit/general-mitigation-steps.md)
- [Tutorial 4 Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-4-block.chainid-domain_separator-and-eip-2612-permit/tutorial-4-conclusion.md)
- [Tutorial 5: Fee-On-Transfer Tokens](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-5-fee-on-transfer-tokens.md): Prevalence in DEX Contracts
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-5-fee-on-transfer-tokens/prerequisites.md)
- [Understanding Fee-On-Transfer](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-5-fee-on-transfer-tokens/understanding-fee-on-transfer.md)
- [Examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-5-fee-on-transfer-tokens/examples.md)
- [Links to more fee-on-transfer vulnerability examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-5-fee-on-transfer-tokens/links-to-more-fee-on-transfer-vulnerability-examples.md): This page is a open resource where any examples of front running found in bug bounties, audit reports or live attacks are to be added here.
- [Fee-On-Transfer Tokens: Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-5-fee-on-transfer-tokens/fee-on-transfer-tokens-conclusion.md)
- [Tutorial 6: Merkle Trees](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-6-merkle-trees.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-6-merkle-trees/prerequisites.md)
- [Understanding Merkle Trees](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-6-merkle-trees/understanding-merkle-trees.md)
- [Verification within a Merkle Tree:](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-6-merkle-trees/verification-within-a-merkle-tree.md)
- [Merkle Proofs Within Smart Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-6-merkle-trees/merkle-proofs-within-smart-contracts.md)
- [Merkle Proof Solidity Implementation](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-6-merkle-trees/merkle-proof-solidity-implementation.md)
- [Vulnerabilities When Using Merkle Trees](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-6-merkle-trees/vulnerabilities-when-using-merkle-trees.md)
- [Example Vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-6-merkle-trees/example-vulnerabilities.md)
- [Exercise](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-6-merkle-trees/exercise.md)
- [Merkle Trees Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-6-merkle-trees/merkle-trees-conclusion.md)
- [Tutorial 7: Merkle-Patricia Trees](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-7-merkle-patricia-trees.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-7-merkle-patricia-trees/prerequisites.md)
- [Understanding Merkle-Patricia Trees](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-7-merkle-patricia-trees/understanding-merkle-patricia-trees.md)
- [Understanding Merkle-Patrica Trees pt.2](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-7-merkle-patricia-trees/understanding-merkle-patrica-trees-pt.2.md)
- [Verification within a Merkle-Patricia Tree](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-7-merkle-patricia-trees/verification-within-a-merkle-patricia-tree.md)
- [Vulnerabilities When Using Merkle-Patricia Trees](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-7-merkle-patricia-trees/vulnerabilities-when-using-merkle-patricia-trees.md)
- [Example Vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-7-merkle-patricia-trees/example-vulnerability.md)
- [Merkle-Patricia Trees: Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-7-merkle-patricia-trees/merkle-patricia-trees-conclusion.md)
- [Tutorial 8: Reentrancy](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-8-reentrancy.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-8-reentrancy/prerequisites.md)
- [Understanding Reentrancy](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-8-reentrancy/understanding-reentrancy.md)
- [Mitigation](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-8-reentrancy/mitigation.md)
- [The DAO Hack: An In-depth Examination](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-8-reentrancy/the-dao-hack-an-in-depth-examination.md)
- [Examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-8-reentrancy/examples.md)
- [Resource Bank To More Reentrancy Examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-8-reentrancy/resource-bank-to-more-reentrancy-examples.md): This page is a open resource where any examples of reentrancy found in bug bounties, audit reports or live attacks are to be added here
- [Conclusion: Reflecting on the Reentrancy Vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-8-reentrancy/conclusion-reflecting-on-the-reentrancy-vulnerability.md)
- [Tutorial 9: Read-Only Reentrancy](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-9-read-only-reentrancy.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-9-read-only-reentrancy/prerequisites.md)
- [Understanding Read-Only Reentrancy](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-9-read-only-reentrancy/understanding-read-only-reentrancy.md)
- [Mitigating Read-Only Reentrancy](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-9-read-only-reentrancy/mitigating-read-only-reentrancy.md)
- [Real World Examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-9-read-only-reentrancy/real-world-examples.md)
- [Resource Bank To More Reentrancy Examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-9-read-only-reentrancy/resource-bank-to-more-reentrancy-examples.md): This page is a open resource where any examples of read-only reentrancy found in bug bounties, audit reports or live attacks are to be added here
- [Read-Only Reentrancy: Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-9-read-only-reentrancy/read-only-reentrancy-conclusion.md)
- [Tutorial 10: ERC20 transfer() and safeTransfer()](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-10-erc20-transfer-and-safetransfer.md): This vulnerability is prevalent in DEX's and Pools
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-10-erc20-transfer-and-safetransfer/prerequisites.md)
- [Understanding ERC20 transfer() and safeTransfer()](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-10-erc20-transfer-and-safetransfer/understanding-erc20-transfer-and-safetransfer.md)
- [Examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-10-erc20-transfer-and-safetransfer/examples.md)
- [Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-10-erc20-transfer-and-safetransfer/conclusion.md)
- [Tutorial 11: Low level .call(), .transfer() and .send()](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-11-low-level-.call-.transfer-and-.send.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-11-low-level-.call-.transfer-and-.send/prerequisites.md)
- [Understanding .call, .transfer, and .send](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-11-low-level-.call-.transfer-and-.send/understanding-.call-.transfer-and-.send.md)
- [Understanding the Vulnerabilities of .transfer and .send](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-11-low-level-.call-.transfer-and-.send/understanding-the-vulnerabilities-of-.transfer-and-.send.md)
- [Examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-11-low-level-.call-.transfer-and-.send/examples.md)
- [Low level .call(), .transfer() and .send() conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-11-low-level-.call-.transfer-and-.send/low-level-.call-.transfer-and-.send-conclusion.md)
- [Tutorial 12: Delegatecall Vulnerabilities in Precompiled Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-12-delegatecall-vulnerabilities-in-precompiled-contracts.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-12-delegatecall-vulnerabilities-in-precompiled-contracts/prerequisites.md)
- [Understanding Delegatecall](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-12-delegatecall-vulnerabilities-in-precompiled-contracts/understanding-delegatecall.md)
- [EVM, L2s, Bridges, and the Quest for Scalability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-12-delegatecall-vulnerabilities-in-precompiled-contracts/evm-l2s-bridges-and-the-quest-for-scalability.md)
- [Understanding Precompiles in the Ethereum Virtual Machine (EVM)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-12-delegatecall-vulnerabilities-in-precompiled-contracts/understanding-precompiles-in-the-ethereum-virtual-machine-evm.md)
- [Custom Precompiles](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-12-delegatecall-vulnerabilities-in-precompiled-contracts/custom-precompiles.md)
- [Potential Vulnerabilities in EVM Implementations: Overlooked DelegateCall in Precompiled Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-12-delegatecall-vulnerabilities-in-precompiled-contracts/potential-vulnerabilities-in-evm-implementations-overlooked-delegatecall-in-precompiled-contracts.md)
- [Real World Examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-12-delegatecall-vulnerabilities-in-precompiled-contracts/real-world-examples.md)
- [Delegatecall and Precompiles: Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-12-delegatecall-vulnerabilities-in-precompiled-contracts/delegatecall-and-precompiles-conclusion.md)
- [Tutorial 13: Liquid Staking](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-13-liquid-staking.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-13-liquid-staking/prerequisites.md)
- [Understanding Liquid Staking](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-13-liquid-staking/understanding-liquid-staking.md)
- [Understanding Liquid Staking Vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-13-liquid-staking/understanding-liquid-staking-vulnerabilities.md)
- [Example Vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-13-liquid-staking/example-vulnerability.md)
- [Example Vulnerability 2](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-13-liquid-staking/example-vulnerability-2.md)
- [Example Vulnerability 3](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-13-liquid-staking/example-vulnerability-3.md)
- [Liquid Staking: Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-13-liquid-staking/liquid-staking-conclusion.md)
- [Tutorial 14: Slippage](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-14-slippage.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-14-slippage/prerequisites.md)
- [Understanding Slippage in Automated Market Makers (AMMs)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-14-slippage/understanding-slippage-in-automated-market-makers-amms.md)
- [Understanding the "Lack of Slippage Check" Vulnerability in Automated Market Makers (AMMs) and DEXs](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-14-slippage/understanding-the-lack-of-slippage-check-vulnerability-in-automated-market-makers-amms-and-dexs.md)
- [On-Chain Slippage Calculations Vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-14-slippage/on-chain-slippage-calculations-vulnerability.md)
- [0 slippage tolerance vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-14-slippage/0-slippage-tolerance-vulnerability.md)
- [Real World Examples](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-14-slippage/real-world-examples.md)
- [Resource bank to more slippage vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-14-slippage/resource-bank-to-more-slippage-vulnerabilities.md): This page is a open resource where any examples of slippage bugs found in bug bounties, audit reports or live attacks are to be added here.
- [Slippage Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-14-slippage/slippage-conclusion.md)
- [Tutorial 15: Oracles](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/prerequisites.md)
- [Understanding Oracles](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/understanding-oracles.md)
- [Types of price feeds](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/types-of-price-feeds.md)
- [Flash Loans](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/flash-loans.md)
- [Understanding Oracle Vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/understanding-oracle-vulnerabilities.md)
- [The Danger of Single Oracle Dependence](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/understanding-oracle-vulnerabilities/the-danger-of-single-oracle-dependence.md)
- [Using Deprecated Functions](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/understanding-oracle-vulnerabilities/using-deprecated-functions.md)
- [Lack of return data validation](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/understanding-oracle-vulnerabilities/lack-of-return-data-validation.md)
- [Inconsistent or Absent Price Data Fetching/Updating Intervals](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/understanding-oracle-vulnerabilities/inconsistent-or-absent-price-data-fetching-updating-intervals.md)
- [Decentralized Exchange (DEX) Price Oracles Vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/decentralized-exchange-dex-price-oracles-vulnerabilities.md)
- [Found Vulnerabilities In Oracle Implementations](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/found-vulnerabilities-in-oracle-implementations.md)
- [Newly Registered Assets Skew Consultation Results](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/found-vulnerabilities-in-oracle-implementations/newly-registered-assets-skew-consultation-results.md): Because price is using an average of Chainlink and pool, so if a new pool is added, it will skew the price
- [Flash-Loan Oracle Manipulations](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/found-vulnerabilities-in-oracle-implementations/flash-loan-oracle-manipulations.md)
- [Relying Only On Chainlink: PriceOracle Does Not Filter Price Feed Outliers](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/found-vulnerabilities-in-oracle-implementations/relying-only-on-chainlink-priceoracle-does-not-filter-price-feed-outliers.md)
- [Not Validating Return Data e.g Chainlink:  (lastestRoundData)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/found-vulnerabilities-in-oracle-implementations/not-validating-return-data-e.g-chainlink-lastestrounddata.md)
- [Chainlink: Using latestAnswer instead of latestRoundData](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/found-vulnerabilities-in-oracle-implementations/chainlink-using-latestanswer-instead-of-latestrounddata.md)
- [Reliance On Fetching Oracle Functionality](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/found-vulnerabilities-in-oracle-implementations/reliance-on-fetching-oracle-functionality.md)
- [Wrong Assumption of 18 decimals](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/found-vulnerabilities-in-oracle-implementations/wrong-assumption-of-18-decimals.md)
- [Stale Prices](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/found-vulnerabilities-in-oracle-implementations/stale-prices.md)
- [Oracle Price Returning 0](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/found-vulnerabilities-in-oracle-implementations/oracle-price-returning-0.md)
- [TWAP Oracles](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/found-vulnerabilities-in-oracle-implementations/twap-oracles.md)
- [Wrong Token Order In Return Value](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/found-vulnerabilities-in-oracle-implementations/wrong-token-order-in-return-value.md)
- [miscellaneous](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/found-vulnerabilities-in-oracle-implementations/miscellaneous.md)
- [Oracles: Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles/oracles-conclusion.md)
- [Tutorial 16: Zero Knowledge (ZK)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/prerequisites.md)
- [Theory](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/theory.md)
- [Circom](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/theory/circom.md)
- [Computation](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/theory/computation.md)
- [Arithmetic Circuits](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/theory/arithmetic-circuits.md)
- [Rank-1 Constraint System (R1CS)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/theory/rank-1-constraint-system-r1cs.md)
- [Quadratic Arithmetic Program](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/theory/quadratic-arithmetic-program.md)
- [Linear Interactive Proof](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/theory/linear-interactive-proof.md)
- [ZK-Snarks](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/theory/zk-snarks.md): In this we will outline the theory of the Pinocchio protocol in particular as an example
- [Definitions and Essentials](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/definitions-and-essentials.md)
- [Key](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/definitions-and-essentials/key.md)
- [Scalar Field Order](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/definitions-and-essentials/scalar-field-order.md)
- [Incremental Merkle Tree](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/definitions-and-essentials/incremental-merkle-tree.md)
- [ECDSA signature](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/definitions-and-essentials/ecdsa-signature.md)
- [Non-Interactive Proofs](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/definitions-and-essentials/non-interactive-proofs.md)
- [Fiat-Shamir transformation (or Fiat-Shamir heuristic)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/definitions-and-essentials/fiat-shamir-transformation-or-fiat-shamir-heuristic.md)
- [Pedersen commitment](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/definitions-and-essentials/pedersen-commitment.md)
- [Common Vulnerabilities in ZK Code](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/common-vulnerabilities-in-zk-code.md)
- [Under-constrained Circuits](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/common-vulnerabilities-in-zk-code/under-constrained-circuits.md)
- [Nondeterministic Circuits](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/common-vulnerabilities-in-zk-code/nondeterministic-circuits.md)
- [Arithmetic Over/Under Flows](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/common-vulnerabilities-in-zk-code/arithmetic-over-under-flows.md)
- [Mismatching Bit Lengths](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/common-vulnerabilities-in-zk-code/mismatching-bit-lengths.md)
- [Unused Public Inputs Optimized Out](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/common-vulnerabilities-in-zk-code/unused-public-inputs-optimized-out.md)
- [Frozen Heart: Forging of Zero Knowledge Proofs](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/common-vulnerabilities-in-zk-code/frozen-heart-forging-of-zero-knowledge-proofs.md)
- [Trusted Setup Leak](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/common-vulnerabilities-in-zk-code/trusted-setup-leak.md)
- [Assigned but not Constrained](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/common-vulnerabilities-in-zk-code/assigned-but-not-constrained.md)
- [Bugs In The Wild](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild.md)
- [Dark Forest v0.3: Missing Bit Length Check](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/dark-forest-v0.3-missing-bit-length-check.md)
- [BigInt: Missing Bit Length Check](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/bigint-missing-bit-length-check.md)
- [Circom-Pairing: Missing Output Check Constraint](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/circom-pairing-missing-output-check-constraint.md)
- [Semaphore: Missing Smart Contract Range Check](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/semaphore-missing-smart-contract-range-check.md)
- [Zk-Kit: Missing Smart Contract Range Check](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/zk-kit-missing-smart-contract-range-check.md)
- [Aztec 2.0: Missing Bit Length Check / Nondeterministic Nullifier](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/aztec-2.0-missing-bit-length-check-nondeterministic-nullifier.md)
- [Aztec Plonk Verifier: 0 Bug](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/aztec-plonk-verifier-0-bug.md)
- [0xPARC StealthDrop: Nondeterministic Nullifier](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/0xparc-stealthdrop-nondeterministic-nullifier.md)
- [a16z ZkDrops: Missing Nullifier Range Check](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/a16z-zkdrops-missing-nullifier-range-check.md)
- [MACI 1.0: Under-constrained Circuit](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/maci-1.0-under-constrained-circuit.md)
- [Bulletproofs Paper: Frozen Heart](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/bulletproofs-paper-frozen-heart.md)
- [PlonK: Frozen Heart](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/plonk-frozen-heart.md)
- [Zcash: Trusted Setup Leak](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/zcash-trusted-setup-leak.md)
- [14. MiMC Hash: Assigned but not Constrained](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/14.-mimc-hash-assigned-but-not-constrained.md)
- [PSE & Scroll zkEVM: Missing Overflow Constraint](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/pse-and-scroll-zkevm-missing-overflow-constraint.md)
- [PSE & Scroll zkEVM: Missing Constraint](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/pse-and-scroll-zkevm-missing-constraint.md)
- [Dusk Network: Missing Blinding Factors](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/dusk-network-missing-blinding-factors.md)
- [EY Nightfall: Missing Nullifier Range Check](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/ey-nightfall-missing-nullifier-range-check.md)
- [Summa: Unconstrained Constants Assignemnt](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/summa-unconstrained-constants-assignemnt.md)
- [Polygon zkEVM: Missing Remainder Constraint](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/bugs-in-the-wild/polygon-zkevm-missing-remainder-constraint.md)
- [ZK Security Resources](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/zk-security-resources.md)
- [Tutorial 17 DEX's (Decentralized Exchanges)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/prerequisites.md)
- [Understanding Decentralized Exchanges](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/understanding-decentralized-exchanges.md)
- [Common Vulnerabilities in DEX Code](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code.md)
- [The "Lack of Slippage Check" Vulnerability in Automated Market Makers (AMMs) a](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/the-lack-of-slippage-check-vulnerability-in-automated-market-makers-amms-a.md)
- [On-Chain Slippage Calculations Vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/on-chain-slippage-calculations-vulnerability.md)
- [Slippage tolerance vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/slippage-tolerance-vulnerability.md)
- [How Pool Implementation Mismatches Pose a Security Risk to Decentralized Exchanges (DEXs)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/how-pool-implementation-mismatches-pose-a-security-risk-to-decentralized-exchanges-dexs.md)
- [Vulnerabilities in Initial Pool Creation - Liquidity Manipulation Attacks](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-initial-pool-creation-liquidity-manipulation-attacks.md)
- [Vulnerabilities In Oracle Implementations](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-oracle-implementations.md)
- [Newly Registered Assets Skew Consultation Results](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-oracle-implementations/newly-registered-assets-skew-consultation-results.md): Because price is using an average of Chainlink and pool, so if a new pool is added, it will skew the price
- [Flash-Loan Oracle Manipulations](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-oracle-implementations/flash-loan-oracle-manipulations.md)
- [Relying Only On Chainlink: PriceOracle Does Not Filter Price Feed Outliers](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-oracle-implementations/relying-only-on-chainlink-priceoracle-does-not-filter-price-feed-outliers.md)
- [Not Validating Return Data e.g Chainlink:  (lastestRoundData)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-oracle-implementations/not-validating-return-data-e.g-chainlink-lastestrounddata.md)
- [Chainlink: Using latestAnswer instead of latestRoundData](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-oracle-implementations/chainlink-using-latestanswer-instead-of-latestrounddata.md)
- [Reliance On Fetching Oracle Functionality](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-oracle-implementations/reliance-on-fetching-oracle-functionality.md)
- [Wrong Assumption of 18 decimals](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-oracle-implementations/wrong-assumption-of-18-decimals.md)
- [Stale Prices](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-oracle-implementations/stale-prices.md)
- [Oracle Price Returning 0](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-oracle-implementations/oracle-price-returning-0.md)
- [TWAP Oracles](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-oracle-implementations/twap-oracles.md)
- [Wrong Token Order In Return Value](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-oracle-implementations/wrong-token-order-in-return-value.md)
- [miscellaneous](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/vulnerabilities-in-oracle-implementations/miscellaneous.md)
- [Minting and Burning Liquidity Pool Tokens](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/minting-and-burning-liquidity-pool-tokens.md)
- [Missing Checks](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/missing-checks.md)
- [18 Decimal Assumption](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/18-decimal-assumption.md)
- [Understanding ERC20 Decimals](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/18-decimal-assumption/understanding-erc20-decimals.md)
- [Examples Of Vulnerabilities To Do With Assuming 18 Decimals](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/18-decimal-assumption/examples-of-vulnerabilities-to-do-with-assuming-18-decimals.md)
- [Incorrect Swap Path](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/incorrect-swap-path.md)
- [The Importance of Deadline Checks in Swaps](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/common-vulnerabilities-in-dex-code/the-importance-of-deadline-checks-in-swaps.md)
- [Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-17-dexs-decentralized-exchanges/conclusion.md)
- [Tutorial 18: Proxies](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-18-proxies.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-18-proxies/prerequisites.md)
- [Ethereum Storage and Memory](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-18-proxies/ethereum-storage-and-memory.md)
- [Ethereum Calls and Delegate Calls](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-18-proxies/ethereum-calls-and-delegate-calls.md)
- [Upgradability Patterns in Ethereum: Enhancing Smart Contracts Over Time](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-18-proxies/upgradability-patterns-in-ethereum-enhancing-smart-contracts-over-time.md)
- [Proxy Upgrade Pattern in Ethereum](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-18-proxies/proxy-upgrade-pattern-in-ethereum.md)
- [Exploring the Landscape of Ethereum Proxies](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-18-proxies/exploring-the-landscape-of-ethereum-proxies.md)
- [Transparent Proxies](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-18-proxies/exploring-the-landscape-of-ethereum-proxies/transparent-proxies.md)
- [UUPS Proxies](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-18-proxies/exploring-the-landscape-of-ethereum-proxies/uups-proxies.md)
- [Beacon Proxies](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-18-proxies/exploring-the-landscape-of-ethereum-proxies/beacon-proxies.md)
- [Diamond Proxies](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-18-proxies/exploring-the-landscape-of-ethereum-proxies/diamond-proxies.md)
- [Tutorial 19: 18 Decimal Assumption](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-19-18-decimal-assumption.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-19-18-decimal-assumption/prerequisites.md)
- [Understanding ERC20 Decimals](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-19-18-decimal-assumption/understanding-erc20-decimals.md)
- [Examples Of Vulnerabilities To Do With Assuming 18 Decimals](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-19-18-decimal-assumption/examples-of-vulnerabilities-to-do-with-assuming-18-decimals.md)
- [Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-19-18-decimal-assumption/conclusion.md)
- [Tutorial 20: Arithmetic](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-20-arithmetic.md): Author: Omar Inuwa
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-20-arithmetic/prerequisites.md)
- [Arithmetic pitfall 1: Division by 0](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-20-arithmetic/arithmetic-pitfall-1-division-by-0.md)
- [Arithmetic pitfall 2: Precision Loss Due To Rounding](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-20-arithmetic/arithmetic-pitfall-2-precision-loss-due-to-rounding.md)
- [Arithmetic pitfall 3: Erroneous Calculations](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-20-arithmetic/arithmetic-pitfall-3-erroneous-calculations.md)
- [Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-20-arithmetic/conclusion.md)
- [Tutorial 21: Unbounded Loops](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-21-unbounded-loops.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-21-unbounded-loops/prerequisites.md)
- [Gas Limit Vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-21-unbounded-loops/gas-limit-vulnerability.md)
- [Transaction Failures Within Loops](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-21-unbounded-loops/transaction-failures-within-loops.md)
- [Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-21-unbounded-loops/conclusion.md)
- [Tutorial 22: \`isContract\`](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-22-iscontract.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-22-iscontract/prerequisites.md)
- [Understanding the 'isContract()\` vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-22-iscontract/understanding-the-iscontract-vulnerability.md)
- [Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-22-iscontract/conclusion.md)
- [Tutorial 23: Staking](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-23-staking.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-23-staking/prerequisites.md)
- [First Depositor Inflation Attack in Staking Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-23-staking/first-depositor-inflation-attack-in-staking-contracts.md)
- [Front-Running Rebase Attack (Stepwise Jump in Rewards)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-23-staking/front-running-rebase-attack-stepwise-jump-in-rewards.md)
- [Rugability of a Poorly Implemented recoverERC20 Function in Staking Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-23-staking/rugability-of-a-poorly-implemented-recovererc20-function-in-staking-contracts.md)
- [General Considerations for ERC777 Reentrancy Vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-23-staking/general-considerations-for-erc777-reentrancy-vulnerabilities.md)
- [Vulnerability: \_lpToken and Reward Token Confusion in Staking Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-23-staking/vulnerability-_lptoken-and-reward-token-confusion-in-staking-contracts.md)
- [Slippage Checks](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-23-staking/slippage-checks.md)
- [The Harvest Functionality in Vaults: Issues and Best Practices](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-23-staking/the-harvest-functionality-in-vaults-issues-and-best-practices.md)
- [Tutorial 24: Chain Re-org Vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-24-chain-re-org-vulnerability.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-24-chain-re-org-vulnerability/prerequisites.md)
- [Chain Reorganization (Re-org) Vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-24-chain-re-org-vulnerability/chain-reorganization-re-org-vulnerability.md)
- [Chain Re-org Vulnerability in Governance Voting Mechanisms](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-24-chain-re-org-vulnerability/chain-re-org-vulnerability-in-governance-voting-mechanisms.md)
- [Tutorial 25: Cross Chain Bridges Vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-25-cross-chain-bridges-vulnerabilities.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-25-cross-chain-bridges-vulnerabilities/prerequisites.md)
- [ERC777 Bridge Vulnerability: Reentrancy Attack in Token Accounting](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-25-cross-chain-bridges-vulnerabilities/erc777-bridge-vulnerability-reentrancy-attack-in-token-accounting.md)
- [Vulnerability: Withdrawals Can Be Locked Forever If Recipient Is a Contract](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-25-cross-chain-bridges-vulnerabilities/erc777-bridge-vulnerability-reentrancy-attack-in-token-accounting/vulnerability-withdrawals-can-be-locked-forever-if-recipient-is-a-contract.md)
- [The Dangers of Not Using SafeERC20 for Token Transfers](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-25-cross-chain-bridges-vulnerabilities/the-dangers-of-not-using-safeerc20-for-token-transfers.md)
- [Uninitialized Variable Vulnerability in Upgradeable Smart Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-25-cross-chain-bridges-vulnerabilities/uninitialized-variable-vulnerability-in-upgradeable-smart-contracts.md)
- [Unsafe External Calls and Their Vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-25-cross-chain-bridges-vulnerabilities/unsafe-external-calls-and-their-vulnerabilities.md)
- [Signature Replay Attacks in Cross-Chain Protocols](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-25-cross-chain-bridges-vulnerabilities/signature-replay-attacks-in-cross-chain-protocols.md)
- [Tutorial 26: Integer Underflow and Overflow Vulnerabilities in Solidity (Before 0.8.0)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-26-integer-underflow-and-overflow-vulnerabilities-in-solidity-before-0.8.0.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-26-integer-underflow-and-overflow-vulnerabilities-in-solidity-before-0.8.0/prerequisites.md)
- [Understanding Integer Underflow and Overflow Vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-26-integer-underflow-and-overflow-vulnerabilities-in-solidity-before-0.8.0/understanding-integer-underflow-and-overflow-vulnerabilities.md)
- [Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-26-integer-underflow-and-overflow-vulnerabilities-in-solidity-before-0.8.0/conclusion.md)
- [Tutorial 27:  OpenZeppelin Vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-27-openzeppelin-vulnerabilities.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-27-openzeppelin-vulnerabilities/prerequisites.md)
- [A Guide on Vulnerability Awareness and Management](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-27-openzeppelin-vulnerabilities/a-guide-on-vulnerability-awareness-and-management.md)
- [Conclusion](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-27-openzeppelin-vulnerabilities/a-guide-on-vulnerability-awareness-and-management/conclusion.md)
- [Tutorial 28:  Signature Vulnerabilities / Replays](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-28-signature-vulnerabilities-replays.md)
- [Prerequisites](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-28-signature-vulnerabilities-replays/prerequisites.md)
- [Reusing EIP-712 Signatures in Private Sales](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-28-signature-vulnerabilities-replays/reusing-eip-712-signatures-in-private-sales.md)
- [Replay Attacks on Failed Transactions](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-28-signature-vulnerabilities-replays/replay-attacks-on-failed-transactions.md)
- [Improper Token Validation in Permit Signature](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-28-signature-vulnerabilities-replays/improper-token-validation-in-permit-signature.md)
- [Tutorial 29: Solmate Vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-29-solmate-vulnerabilities.md)
- [Lack of Code Size Check in Token Transfer Functions in Solmate](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-29-solmate-vulnerabilities/lack-of-code-size-check-in-token-transfer-functions-in-solmate.md)
- [Tutorial 30: Inconsistent block lengths across chains](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-30-inconsistent-block-lengths-across-chains.md)
- [Incorrect Assumptions about Block Number in Multi-Chain Deployments](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-30-inconsistent-block-lengths-across-chains/incorrect-assumptions-about-block-number-in-multi-chain-deployments.md)
- [Tutorial 31: NFT JSON and XSS injection](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-31-nft-json-and-xss-injection.md)
- [Vulnerability: JSON Injection in tokenURI Functions](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-31-nft-json-and-xss-injection/vulnerability-json-injection-in-tokenuri-functions.md)
- [Cross-Site Scripting (XSS) Vulnerability via SVG Construction in Smart Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-31-nft-json-and-xss-injection/cross-site-scripting-xss-vulnerability-via-svg-construction-in-smart-contracts.md)
- [Tutorial 32: Merkle Leafs](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-32-merkle-leafs.md)
- [Misuse of Merkle Leaf Nodes](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-32-merkle-leafs/misuse-of-merkle-leaf-nodes.md)
- [Tutorial 33: Layer 0](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-33-layer-0.md)
- [Lack of Force Resume in LayerZero Integrations](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-33-layer-0/lack-of-force-resume-in-layerzero-integrations.md)
- [LayerZero-Specific Vulnerabilities in Airdropped Gas and Failure Handling](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-33-layer-0/layerzero-specific-vulnerabilities-in-airdropped-gas-and-failure-handling.md)
- [Understanding the Vulnerability of Blocking LayerZero Channels](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-33-layer-0/understanding-the-vulnerability-of-blocking-layerzero-channels.md)
- [Copy of Understanding the Vulnerability of Blocking LayerZero Channels](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-33-layer-0/copy-of-understanding-the-vulnerability-of-blocking-layerzero-channels.md)
- [Tutorial 34: Forgetting to Update the Global State in Smart Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-34-forgetting-to-update-the-global-state-in-smart-contracts.md)
- [Tutorial 35: Wrong Function Signature](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-35-wrong-function-signature.md)
- [Tutorial 36: Handling Edge Cases of Banned Addresses in DeFi](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-36-handling-edge-cases-of-banned-addresses-in-defi.md)
- [Tutorial 37: initializer and onlyInitializing](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-37-initializer-and-onlyinitializing.md)
- [Tutorial 38: Eigen Layer](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-38-eigen-layer.md)
- [Denial of Service in NodeDelegator Due to EigenLayer's maxPerDeposit Check](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-38-eigen-layer/denial-of-service-in-nodedelegator-due-to-eigenlayers-maxperdeposit-check.md)
- [Incorrect Share Issuance Due to Strategy Updates in EigenLayer Integrations](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-38-eigen-layer/incorrect-share-issuance-due-to-strategy-updates-in-eigenlayer-integrations.md)
- [nonReentrant Vulnerability in EigenLayer Withdrawals](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-38-eigen-layer/nonreentrant-vulnerability-in-eigenlayer-withdrawals.md)
- [Tutorial 39: Wormhole](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-39-wormhole.md)
- [Proposal Execution Failure Due to Guardian Set Change](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-39-wormhole/proposal-execution-failure-due-to-guardian-set-change.md)
- [Tutorial 40: Uniswap V3](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-40-uniswap-v3.md)
- [Understanding and Mitigating Partial Swaps in Uniswap V3](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-40-uniswap-v3/understanding-and-mitigating-partial-swaps-in-uniswap-v3.md)
- [Underflow Vulnerability in Uniswap V3 Position Fee Growth Calculations](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-40-uniswap-v3/underflow-vulnerability-in-uniswap-v3-position-fee-growth-calculations.md)
- [Handling Decimal Discrepancies in Uniswap V3 Price Calculations](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-40-uniswap-v3/handling-decimal-discrepancies-in-uniswap-v3-price-calculations.md)
- [Tutorial 41: Multiple Token Addresses in Proxied Tokens](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-41-multiple-token-addresses-in-proxied-tokens.md)
- [Understanding Vulnerabilities Arising from Tokens with Multiple Entry Points](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-41-multiple-token-addresses-in-proxied-tokens/understanding-vulnerabilities-arising-from-tokens-with-multiple-entry-points.md)
- [Tutorial 42: abiDecoder v2](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-42-abidecoder-v2.md)
- [Vulnerabilities from Manipulated Token Interactions Using ABI Decoding](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-42-abidecoder-v2/vulnerabilities-from-manipulated-token-interactions-using-abi-decoding.md)
- [Tutorial 43: On-Chain Randomness](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-43-on-chain-randomness.md)
- [Vulnerabilities in On-Chain Randomness and How It Can Be Exploited](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-43-on-chain-randomness/vulnerabilities-in-on-chain-randomness-and-how-it-can-be-exploited.md)
- [Tutorial 44: Weird ERC20 Tokens](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-44-weird-erc20-tokens.md)
- [Weird Token List](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-44-weird-erc20-tokens/weird-token-list.md)
- [Tutorial 45: Hardcoded stable coin values](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-45-hardcoded-stable-coin-values.md)
- [Tutorial 46: The Risks of Chainlink Heartbeat Discrepancies in Smart Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-46-the-risks-of-chainlink-heartbeat-discrepancies-in-smart-contracts.md)
- [Tutorial 47: The Risk of Forgetting a Withdrawal Mechanism in Smart Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-47-the-risk-of-forgetting-a-withdrawal-mechanism-in-smart-contracts.md)
- [Tutorial 48: Governance and Voting](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-48-governance-and-voting.md)
- [Flash Loan Voting Exploit](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-48-governance-and-voting/flash-loan-voting-exploit.md)
- [Exploiting Self-Delegation](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-48-governance-and-voting/exploiting-self-delegation.md)
- [Missing payable Keyword in Governance Execute Function](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-48-governance-and-voting/missing-payable-keyword-in-governance-execute-function.md)
- [Voting Multiple Times by Shifting Delegation](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-48-governance-and-voting/voting-multiple-times-by-shifting-delegation.md)
- [Missing Duplicate Veto Check](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-48-governance-and-voting/missing-duplicate-veto-check.md)
- [Tutorial 49: Not Conforming To EIP standards](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-49-not-conforming-to-eip-standards.md)
- [Understanding EIP-2981: NFT Royalty Standard](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-49-not-conforming-to-eip-standards/understanding-eip-2981-nft-royalty-standard.md)
- [Improper Implementation of EIP-2612 Permit Standard](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-49-not-conforming-to-eip-standards/improper-implementation-of-eip-2612-permit-standard.md)
- [Vulnerabilities of Missing EIP-155 Replay Attack Protection](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-49-not-conforming-to-eip-standards/vulnerabilities-of-missing-eip-155-replay-attack-protection.md)
- [Vulnerabilities Due to Missing EIP-1967 in Proxy Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-49-not-conforming-to-eip-standards/vulnerabilities-due-to-missing-eip-1967-in-proxy-contracts.md)
- [Vulnerability of Design Preventing EIP-165 Extensibility](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-49-not-conforming-to-eip-standards/vulnerability-of-design-preventing-eip-165-extensibility.md)
- [The Dangers of Not Properly Implementing ERC-4626 in Yield Vaults](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-49-not-conforming-to-eip-standards/the-dangers-of-not-properly-implementing-erc-4626-in-yield-vaults.md)
- [EIP-712 Implementation and Replay Attacks](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-49-not-conforming-to-eip-standards/eip-712-implementation-and-replay-attacks.md)
- [Tutorial 50: Vesting](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-50-vesting.md)
- [Vulnerability of Allowing Unauthorized Withdrawals in Vesting Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-50-vesting/vulnerability-of-allowing-unauthorized-withdrawals-in-vesting-contracts.md)
- [Vulnerability of Unbounded Timelock Loops in Vesting Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-50-vesting/vulnerability-of-unbounded-timelock-loops-in-vesting-contracts.md)
- [Vulnerability of Incorrect Linear Vesting Calculations](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-50-vesting/vulnerability-of-incorrect-linear-vesting-calculations.md)
- [Missing hasStarted Modifier](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-50-vesting/missing-hasstarted-modifier.md)
- [Vulnerability in Bond Depositor's Vesting Period Reset](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-50-vesting/vulnerability-in-bond-depositors-vesting-period-reset.md)
- [Tutorial 51: Ethereum's 63/64 Gas Rule](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-51-ethereums-63-64-gas-rule.md)
- [Abusing Ethereum's 63/64 Gas Rule to Manipulate Contract Behavior](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-51-ethereums-63-64-gas-rule/abusing-ethereums-63-64-gas-rule-to-manipulate-contract-behavior.md)
- [Tutorial 52: NPM Dependency Confusion and Unclaimed Packages](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-52-npm-dependency-confusion-and-unclaimed-packages.md)
- [Exploiting Unclaimed NPM Packages and Scopes](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-52-npm-dependency-confusion-and-unclaimed-packages/exploiting-unclaimed-npm-packages-and-scopes.md)
- [Tutorial 53: Airdrops](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-53-airdrops.md)
- [Claiming on Behalf of Other Users](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-53-airdrops/claiming-on-behalf-of-other-users.md)
- [Repeated Airdrop Claims Vulnerability](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-53-airdrops/repeated-airdrop-claims-vulnerability.md)
- [Airdrop Vulnerability – Merkle Leaves and Parent Node Hash Collisions](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-53-airdrops/airdrop-vulnerability-merkle-leaves-and-parent-node-hash-collisions.md)
- [Tutorial 54: Precision](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-54-precision.md)
- [Vulnerabilities Due to Insufficient Precision in Reward Calculations](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-54-precision/vulnerabilities-due-to-insufficient-precision-in-reward-calculations.md)
- [Min-Shares: Fixed Minimum Share Values for Tokens with Low Decimal Precision](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-54-precision/min-shares-fixed-minimum-share-values-for-tokens-with-low-decimal-precision.md)
- [Vulnerability Due to Incorrect Rounding When the Numerator is Not a Multiple of the Denominator](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-54-precision/vulnerability-due-to-incorrect-rounding-when-the-numerator-is-not-a-multiple-of-the-denominator.md)
- [Vulnerability from Small Deposits Being Rounded Down to Zero Shares in Smart Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-54-precision/vulnerability-from-small-deposits-being-rounded-down-to-zero-shares-in-smart-contracts.md)
- [Precision Loss During Withdrawals from Vaults Can Block Token Transfers Due to Value < Amount](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-54-precision/precision-loss-during-withdrawals-from-vaults-can-block-token-transfers-due-to-value-less-than-amoun.md)
- [18 Decimal Assumption Scaling: Loss of Precision in Asset Conversion Due to Incorrect Scaling](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-54-precision/18-decimal-assumption-scaling-loss-of-precision-in-asset-conversion-due-to-incorrect-scaling.md)
- [Tutorial 55: AssetIn == AssetOut, FromToken == ToToken](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-55-assetin-assetout-fromtoken-totoken.md)
- [Vulnerability: Missing fromToken != toToken Check](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-55-assetin-assetout-fromtoken-totoken/vulnerability-missing-fromtoken-totoken-check.md)
- [Tutorial 56: Vulnerabilities Related to LP Tokens Being the Same as Reward Tokens](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-56-vulnerabilities-related-to-lp-tokens-being-the-same-as-reward-tokens.md)
- [Vulnerabilities Caused by LP Tokens Being the Same as Reward Tokens](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-56-vulnerabilities-related-to-lp-tokens-being-the-same-as-reward-tokens/vulnerabilities-caused-by-lp-tokens-being-the-same-as-reward-tokens.md)
- [Tutorial 57: Unsanitized SWAP Paths and Arbitrary Contract Call Vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-57-unsanitized-swap-paths-and-arbitrary-contract-call-vulnerabilities.md)
- [Arbitrary Contract Calls from Unsanitized Paths](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-57-unsanitized-swap-paths-and-arbitrary-contract-call-vulnerabilities/arbitrary-contract-calls-from-unsanitized-paths.md)
- [Tutorial 58: The Risk of Infinite Approvals and Arbitrary Contract Calls](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-58-the-risk-of-infinite-approvals-and-arbitrary-contract-calls.md)
- [Exploiting Infinite Approvals and Arbitrary Contract Calls](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-58-the-risk-of-infinite-approvals-and-arbitrary-contract-calls/exploiting-infinite-approvals-and-arbitrary-contract-calls.md)
- [Tutorial 59: Low-Level Calls in Solidity Returning True for Non-Existent Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-59-low-level-calls-in-solidity-returning-true-for-non-existent-contracts.md)
- [Low-Level Calls Returning True for Non-Existent Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-59-low-level-calls-in-solidity-returning-true-for-non-existent-contracts/low-level-calls-returning-true-for-non-existent-contracts.md)
- [Tutorial 60: The Impact of PUSH0 and the Shanghai Hardfork on Cross-Chain Deployments > 0.8.20](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-60-the-impact-of-push0-and-the-shanghai-hardfork-on-cross-chain-deployments-greater-than-0..md)
- [PUSH0 and Cross-Chain Compatibility Challenges](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-60-the-impact-of-push0-and-the-shanghai-hardfork-on-cross-chain-deployments-greater-than-0./push0-and-cross-chain-compatibility-challenges.md)
- [Tutorial 61: Vyper Vulnerable Versions](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-61-vyper-vulnerable-versions.md)
- [Vyper and the EVM](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-61-vyper-vulnerable-versions/vyper-and-the-evm.md)
- [Tutorial 62: Typos in Smart Contracts — The Silent Threat Leading to Interface Mismatch](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-62-typos-in-smart-contracts-the-silent-threat-leading-to-interface-mismatch.md)
- [Vyper and the EVM](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-62-typos-in-smart-contracts-the-silent-threat-leading-to-interface-mismatch/vyper-and-the-evm.md)
- [Tutorial 63: Balance Check Using ==](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-63-balance-check-using.md)
- [The Vulnerability: == Balance Check](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-63-balance-check-using/the-vulnerability-balance-check.md)
- [Tutorial 64: Equal Royalties for Unequal NFTs](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-64-equal-royalties-for-unequal-nfts.md)
- [Understanding the Problem: Equal Royalties for Unequal NFTs](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-64-equal-royalties-for-unequal-nfts/understanding-the-problem-equal-royalties-for-unequal-nfts.md)
- [Tutorial 65: ERC721 and NFTs](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-65-erc721-and-nfts.md)
- [The Risk of Using transferFrom Instead of safeTransferFrom in ERC721 Projects](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-65-erc721-and-nfts/the-risk-of-using-transferfrom-instead-of-safetransferfrom-in-erc721-projects.md)
- [Why \_safeMint Should Be Used Instead of \_mint in ERC721 Projects](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-65-erc721-and-nfts/why-_safemint-should-be-used-instead-of-_mint-in-erc721-projects.md)
- [The Importance of Validating Token Types in Smart Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-65-erc721-and-nfts/the-importance-of-validating-token-types-in-smart-contracts.md)
- [Implementing ERC721TokenReceiver to Handle ERC721 Safe Transfers](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-65-erc721-and-nfts/implementing-erc721tokenreceiver-to-handle-erc721-safe-transfers.md)
- [NFT Implementation Deviating from ERC721 Standard in Transfer Functions](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-65-erc721-and-nfts/nft-implementation-deviating-from-erc721-standard-in-transfer-functions.md)
- [NFT Approval Persistence after Transfer](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-65-erc721-and-nfts/nft-approval-persistence-after-transfer.md)
- [Gameable NFT Launches through Pseudo-Randomness](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-65-erc721-and-nfts/gameable-nft-launches-through-pseudo-randomness.md)
- [Protecting Buyers from Losing Funds Due to Claimed NFT Rewards on Secondary Markets](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-65-erc721-and-nfts/protecting-buyers-from-losing-funds-due-to-claimed-nft-rewards-on-secondary-markets.md)
- [Preventing Reentrancy When Using SafeERC721](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-65-erc721-and-nfts/preventing-reentrancy-when-using-safeerc721.md)
- [Preventing Re-use of EIP-712 Signatures in NFT Private Sales](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-65-erc721-and-nfts/preventing-re-use-of-eip-712-signatures-in-nft-private-sales.md)
- [Tutorial 66: Vulnerability Arising from NFTs Supporting Both ERC721 and ERC1155 Standards](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-66-vulnerability-arising-from-nfts-supporting-both-erc721-and-erc1155-standards.md)
- [Tutorial 67: ERC1155 Vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-67-erc1155-vulnerabilities.md)
- [Preventing Reentrancy in OpenZeppelin's SafeERC1155](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-67-erc1155-vulnerabilities/preventing-reentrancy-in-openzeppelins-safeerc1155.md)
- [Vulnerabilities in OpenZeppelin's ERC1155Supply Contract](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-67-erc1155-vulnerabilities/vulnerabilities-in-openzeppelins-erc1155supply-contract.md)
- [Understanding Incorrect Token Owner Enumeration in ERC1155Enumerable](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-67-erc1155-vulnerabilities/understanding-incorrect-token-owner-enumeration-in-erc1155enumerable.md)
- [Avoiding Breaking ERC1155 Composability with Improper safeTransferFrom Implementation](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-67-erc1155-vulnerabilities/avoiding-breaking-erc1155-composability-with-improper-safetransferfrom-implementation.md)
- [Ensuring Compatibility with EIP-2981 in ERC1155 Contracts](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-67-erc1155-vulnerabilities/ensuring-compatibility-with-eip-2981-in-erc1155-contracts.md)
- [Informational Vulnerabilities](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/informational-vulnerabilities.md)
- [Gas Efficiency](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/gas-efficiency.md)
- [Automation Tools](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/automation-tools.md)
- [Out Of Gas (Coming Soon)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/out-of-gas-coming-soon.md)
- [DEX Aggregators (Coming Soon)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/dex-aggregators-coming-soon.md)
- [Bribes (Coming Soon)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/bribes-coming-soon.md)
- [Understanding Compiled Bytecode (coming soon)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/understanding-compiled-bytecode-coming-soon.md)
- [Deployment Mistakes (coming soon)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/deployment-mistakes-coming-soon.md)
- [Optimistic Roll-ups (coming soon)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/optimistic-roll-ups-coming-soon.md)
- [Typos (coming soon)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/typos-coming-soon.md)
- [Try-Catch (coming soon)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/try-catch-coming-soon.md)
- [NFT Market-place (coming soon)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/nft-market-place-coming-soon.md)
- [Upgrade-able Contracts (coming soon)](https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/upgrade-able-contracts-coming-soon.md)
