NiftyKit Docs
WebsiteLaunch AppSign UpDiscord
  • Get Started
    • Introduction
    • Web3 and NFT Basics
    • Getting Started
      • Platform Overview
      • NiftyKit Demo Collection
      • Generating Assets
      • NiftyKit Creator Public Profile
      • File Asset, Size, and Requirements
      • Art Generator Asset Guidelines
    • Pricing
  • NFT Collections
    • What is an NFT Collection?
    • Minting 101
      • Creating Your Own NFT Collection
      • Minting Drop & Dynamic NFTs
      • Airdropping NFTs
      • Minting Open & Limited Editions
    • Collaborations & Shared Collections
      • Revenue Split
        • Split with The Giving Block (Donations Partner)
        • Withdraw Your Revenue Splits
    • Collection Management
      • Importing Assets & Metadata
      • Sales Management
      • Reveal Management
        • Pre-Reveal Placeholder
        • Revealing Your Metadata
      • Post-Drop Management
        • Withdrawing Your Funds
        • Renouncing Your Contract
        • Transfer Ownership of Contract
    • Listing NFTs for Sale
      • Waitlist Management
      • Presale Management
      • Public Sale Management
    • Our Smart Contracts
      • Perfect Abstractions Audit
      • Diamond Smart Contracts
      • Royalties
        • Updating Operator Filter (Blocking Blur and OpenSea)
        • Setting Royalties on NFT Marketplaces
      • Migrating Your Smart Contract to NiftyKit
    • Analytics
    • Troubleshooting
  • Customize Your Experience
    • Introduction
    • NiftyKit Diamond Widgets
      • Available Widgets
        • 🔲Connect Wallet Button
          • ⏳Countdown Timer
        • Drops
          • 🔲Drop Mint Button
          • 🔤Drop Mint Supply Text
          • 🔤Drop Mint Price Text
        • Editions
          • 🔲Edition Mint Button
          • 🔤Edition Mint Supply Text
          • 🔤Edition Mint Price Text
        • Utilities
          • 🛠️Is Connected
          • 🛠️Is Not Connected
          • 🛠️Is Holder
      • Widget Builder
      • Installation Guides
        • 📰Install for WordPress
        • 🌊Install for Webflow
        • 🖌️Install for Wix
        • ◻️Install for Squarespace
    • Available Apps
      • NFT Generator Desktop App
      • Pay What You Want App
      • Crossmint App: Credit Card Minting
      • Augmented Reality App (Token Access)
      • Accept ERC-20
        • Custom ERC-20
      • Generative Collection
      • Soulbound Token
      • Share To Earn
      • ApeCoin
      • Royalty Update
      • Submit an App Request
    • Token Access In Collections
    • Integrate Credit Card Minting
      • Drop Collection Credit Card Integration
      • Edition Collection Credit Card Integration
    • Migrating Your Smart Contract to NiftyKit (via Airdrop)
    • NiftyKit Integration with Farcaster Frames
  • Community
    • Community Guidelines
    • FAQ
    • Meet the Team
    • Contact Info
  • Updates and Changelog
    • Security Report
    • Deprecated features
Powered by GitBook
On this page
  • About Perfect Abstractions
  • Niftykit-Contracts-V3 Audit

Was this helpful?

  1. NFT Collections
  2. Our Smart Contracts

Perfect Abstractions Audit

NiftyKit has partnered with Nick Mudge, the author of Diamond Contract himself, and Perfect Abstractions, to audit our contracts.

PreviousOur Smart ContractsNextDiamond Smart Contracts

Last updated 1 year ago

Was this helpful?

Smart contracts are an essential component of blockchain technology, enabling automated, self-executing contracts to be created and executed based on specific conditions. However, while blockchains are generally resistant to attacks, smart contracts are not immune to vulnerabilities that can compromise their safety and security. To ensure that your smart contracts are as safe as possible, a smart contract audit is essential.

A smart contract audit is a comprehensive review of the code and functionality of a smart contract, which helps to expose any technical or code-related vulnerabilities, as well as any human errors that may exist.

There are several common types of vulnerabilities in smart contracts that we look for during our audits, including re-entrancy attacks, function visibility errors, spelling mistakes, and gas optimizations. Re-entrancy attacks are among the most critical types of attacks, where malicious code tries to drain the funds in a particular contract. Function visibility errors can also be devastating, as a developer may forget to set the visibility of a function as private, allowing a hacker to call the "destruct" function to destroy the entire contract immediately. Even simple spelling mistakes can cause a smart contract to malfunction, leading to unexpected consequences. Finally, gas optimizations are often overlooked, and can lead to unnecessarily complicated and inefficient smart contracts.

About Perfect Abstractions

Niftykit-Contracts-V3 Audit

Perfect Abstractions conducted a smart contract audit of Niftykit's Niftykit-Contracts-V3 from 7 March 2023 to 28 March 2023.

This new version of NiftyKit implements EIP-2535 Diamonds, allowing it to easily add or remove functionality for NFT collections. The codebase is modular and well-written.

is a leading blockchain technology consulting firm that specializes in smart contract development, auditing, and security. Their team of experts has years of experience in Solidity programming and blockchain technology, and they use their extensive knowledge to provide top-quality smart contract auditing services that ensure the safety and security of your blockchain projects. Their commitment to excellence and attention to detail has earned them a reputation as one of the most trusted and reliable blockchain consulting firms in the industry.

See the full audit

Perfect Abstractions
here