Skip to content

Persist successful NFT Mints to table storage for reliable metrics  #4

@safestak-keith

Description

@safestak-keith

Mintsafe currently logs purchase and distribution info to disk but it would be better to persist a single record for every successful NFT minted containing the aggregated fields for easy audits and reporting metrics.

We have created a type containing flattened aggregate information for the minted NFT

public record Mint(
    Guid PurchaseAttemptId,
    Guid SaleId,
    Guid CollectionId,
    string SaleAddress,
    string BuyerAddress,
    string PurchaseAttemptUtxo, // utxo.ToString()
    string PurchaseUtxoRetrievalSource, // Blockfrost|CardanoCli|Koios
    DateTime PurchaseAttemptAt, // ensure UTC
    string TxInfoRetrievalSource, // Blockfrost|Koios
    string MintTxHash,
    DateTime MintTxSubmissionAt, // ensure UTC
    string MintTxSubmissionDestination, // Blockfrost|CardanoCli|Koios
    long MintPriceLovelaces,
    long CreatorCutLovelaces,
    long MintsafeCutLovelaces,
    bool IsMintsafeCutDistributedAtMint, // true for mint price > 12 ADA 
    long ChangeReturnedToBuyer,
    Guid NiftyId,
    string PolicyId,
    string AssetName);

Extend the DataAccess project to persist this type to Table Storage. A sensible RowKey field will be NiftyId and a sensible PartitionKey will be SaleId.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions