An Overview of the Charged Particles Smart Contracts
The Charged Particles protocol consists of a series of smart contracts, but there are four primary smart contracts that control the majority of the logic and are the only ones required to integrate with:
The primary contract for interfacing with the Charged Particles protocol. This contract controls the logic for viewing and updating a Particle's balances / nested assets.
Used to view and update rules for how the Charged Particles contract functions.
For viewing and setting permissions, approvals, and time locks on Particles.
Proton.sol / ProtonB.sol
The Proton contract is the base NFT of the Charged Particles system. It is a standard ERC-721 NFT with some added functionality. ProtonB provides the exact same functionality as the Proton, but has some minor changes for gas improvements, and was rolled out for V2 of the protocol.
The addresses to the 4 primary Charged Particles contracts can be found in the respective V1 and V2 sections of the docs, along with links to block explorers and source code. Additional contract addresses can be found in this npm package:
The complete list of our contract addresses includes "helper" contracts associated with the four primary contracts of the protocol, contracts associated with our IONX rewards program, and some legacy contracts that are no longer used. To check what the latest version number of the protocol subgraph npm package is, check here.