Deployment Sequence

The smart contracts were deployed in a Secure Execution Environment (SEE) provided by Dispel.

Deployment Sequence:

  1. Verifiable.sol: This contract served as the base for KYC verification and was deployed first because other contracts inherited its functionality. Deployed by: Platform Admin.

  2. FantomTokenRegistry.sol: This contract maintained a registry of ERC20 tokens that could be used in the ecosystem. Deployed by: Platform Admin.

  3. FantomPriceFeed.sol: This contract was crucial for providing price data for tokens and was deployed by the Platform Admin.

  4. FantomAddressRegistry.sol: This contract centralized the registration of other contract addresses and was deployed before contracts that relied on it for address lookups. Deployed by: Platform Admin.

  5. FantomArtion.sol: This contract enabled the minting and management of Digital Assets. Given that Digital Asset played a crucial role in the ecosystem, it was deployed early on. Deployed by: Platform Admin or Digital Asset Creators.

  6. FantomMarketplace.sol and FantomBundleMarketplace.sol: These were deployed either in parallel or sequentially, depending on needs. They handled the trading of individual and bundled Digital Assets, respectively. Deployed by: Platform Admin.

  7. FantomAuction.sol: This contract allowed for Digital Asset auctions and was deployed after the marketplace contracts. Deployed by: Platform Admin.

Actors:

  1. Platform Admin: The administrator was responsible for deploying and managing contracts. Usually, they became the owner of most contracts and had the highest level of control.

  2. Digital Asset Creators: These could have been individual artists or organizations that deployed Digital Assets using the FantomArtion contract.

  3. Users: End-users interacted with the deployed contracts for various activities such as trading, bidding, etc.

Ownership:

The initial owner was typically the address that deployed the contract. Ownership could have often been transferred through a function like transferOwnership, depending on the contract's design.

KYC:

The isVerified modifier referred to a KYC check, usually carried out by an external KYC contract. The contract address for the KYC system was typically set upon initialization or through an admin function.

This sequence ensured that foundational contracts were in place first, followed by the contracts that offered core functionalities. It's important to note that this sequence was carried out in a Secure Execution Environment provided by Dispel, enhancing the security and integrity of the deployment process.

Last updated