Clio  develop
The XRP Ledger API server.
Loading...
Searching...
No Matches
NFTHelpers.hpp File Reference
#include "data/DBHelpers.hpp"
#include <xrpl/protocol/STTx.h>
#include <xrpl/protocol/TxMeta.h>
#include <cstdint>
#include <optional>
#include <string>
#include <utility>
#include <vector>
Include dependency graph for NFTHelpers.hpp:

Go to the source code of this file.

Functions

std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNftokenModifyData (ripple::TxMeta const &txMeta, ripple::STTx const &sttx)
 Get the NFT URI change data from a NFToken Modify transaction.
std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNFTokenMintData (ripple::TxMeta const &txMeta, ripple::STTx const &sttx)
 Get the NFT Token mint data from a transaction.
std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNFTokenBurnData (ripple::TxMeta const &txMeta, ripple::STTx const &sttx)
 Get the NFT Token burn data from a transaction.
std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNFTokenAcceptOfferData (ripple::TxMeta const &txMeta, ripple::STTx const &sttx)
 Get the NFT Token accept offer data from a transaction.
std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNFTokenCancelOfferData (ripple::TxMeta const &txMeta, ripple::STTx const &sttx)
 Get the NFT Token cancel offer data from a transaction.
std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNFTokenCreateOfferData (ripple::TxMeta const &txMeta, ripple::STTx const &sttx)
 Get the NFT Token create offer data from a transaction.
std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNFTDataFromTx (ripple::TxMeta const &txMeta, ripple::STTx const &sttx)
 Pull NFT data from TX via ETLService.
std::vector< NFTsDataetl::getNFTDataFromObj (std::uint32_t seq, std::string const &key, std::string const &blob)
 Pull NFT data from ledger object via loadInitialLedger.
std::vector< NFTsDataetl::getUniqueNFTsDatas (std::vector< NFTsData > const &nfts)
 Get the unique NFTs data from a vector of NFTsData happening in the same ledger. For example, if a NFT has both accept offer and burn happening in the same ledger,we only keep the final state of the NFT.

Function Documentation

◆ getNFTDataFromObj()

std::vector< NFTsData > etl::getNFTDataFromObj ( std::uint32_t seq,
std::string const & key,
std::string const & blob )

Pull NFT data from ledger object via loadInitialLedger.

Parameters
seqThe ledger sequence to pull for
keyThe owner key
blobObject data as blob
Returns
The NFT data as a vector

◆ getNFTDataFromTx()

std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNFTDataFromTx ( ripple::TxMeta const & txMeta,
ripple::STTx const & sttx )

Pull NFT data from TX via ETLService.

Parameters
txMetaTransaction metadata
sttxThe transaction
Returns
NFT transactions data as a pair of transactions and optional NFTsData

◆ getNFTokenAcceptOfferData()

std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNFTokenAcceptOfferData ( ripple::TxMeta const & txMeta,
ripple::STTx const & sttx )

Get the NFT Token accept offer data from a transaction.

Parameters
txMetaTransaction metadata
sttxThe transaction
Returns
NFT Token accept offer data as a pair of transactions and optional NFTsData

◆ getNFTokenBurnData()

std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNFTokenBurnData ( ripple::TxMeta const & txMeta,
ripple::STTx const & sttx )

Get the NFT Token burn data from a transaction.

Parameters
txMetaTransaction metadata
sttxThe transaction
Returns
NFT Token burn data as a pair of transactions and optional NFTsData

◆ getNFTokenCancelOfferData()

std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNFTokenCancelOfferData ( ripple::TxMeta const & txMeta,
ripple::STTx const & sttx )

Get the NFT Token cancel offer data from a transaction.

Parameters
txMetaTransaction metadata
sttxThe transaction
Returns
NFT Token cancel offer data as a pair of transactions and optional NFTsData

◆ getNFTokenCreateOfferData()

std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNFTokenCreateOfferData ( ripple::TxMeta const & txMeta,
ripple::STTx const & sttx )

Get the NFT Token create offer data from a transaction.

Parameters
txMetaTransaction metadata
sttxThe transaction
Returns
NFT Token create offer data as a pair of transactions and optional NFTsData

◆ getNFTokenMintData()

std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNFTokenMintData ( ripple::TxMeta const & txMeta,
ripple::STTx const & sttx )

Get the NFT Token mint data from a transaction.

Parameters
txMetaTransaction metadata
sttxThe transaction
Returns
NFT Token mint data as a pair of transactions and optional NFTsData

◆ getNftokenModifyData()

std::pair< std::vector< NFTTransactionsData >, std::optional< NFTsData > > etl::getNftokenModifyData ( ripple::TxMeta const & txMeta,
ripple::STTx const & sttx )

Get the NFT URI change data from a NFToken Modify transaction.

Parameters
txMetaTransaction metadata
sttxThe transaction
Returns
NFT URI change data as a pair of transactions and optional NFTsData

◆ getUniqueNFTsDatas()

std::vector< NFTsData > etl::getUniqueNFTsDatas ( std::vector< NFTsData > const & nfts)

Get the unique NFTs data from a vector of NFTsData happening in the same ledger. For example, if a NFT has both accept offer and burn happening in the same ledger,we only keep the final state of the NFT.

Parameters
nftsThe NFTs data to filter, happening in the same ledger
Returns
The unique NFTs data