public async Task <TxDetails> LoadTxDetails(string txid, NeblioAccount account) { var tinfo = await NeblioTransactionHelpers.GetTransactionInfo(txid); string sender = await NeblioTransactionHelpers.GetTransactionSender(txid, tinfo); bool fromAnotherAccount = true; bool fromSubAccount = true; if (sender == account.Address) { sender = "Main Account"; fromAnotherAccount = false; fromSubAccount = false; } else if (account.SubAccounts.TryGetValue(sender, out var sacc)) { if (!string.IsNullOrEmpty(sacc.Name)) { sender = sacc.Name; } else { sender = sacc.BookmarkFromAccount.Name; } fromAnotherAccount = false; fromSubAccount = true; } string rec = await NeblioTransactionHelpers.GetTransactionReceiver(txid, tinfo); string receiver = string.Empty; var recbkm = account.IsInTheBookmarks(rec); if (rec == account.Address) { receiver = "Main Account"; } else if (recbkm.Item1) { receiver = recbkm.Item2.Name; } if (string.IsNullOrEmpty(receiver)) { receiver = NeblioTransactionHelpers.ShortenAddress(rec); } var time = TimeHelpers.UnixTimestampToDateTime((double)tinfo.Blocktime); return(new TxDetails() { FromAnotherAccount = fromAnotherAccount, FromSubAccount = fromSubAccount, Info = tinfo, Receiver = receiver, Sender = sender, Time = time, }); }
/// <summary> /// Find and parse origin data /// </summary> /// <param name="lastmetadata"></param> /// <returns></returns> public override async Task ParseOriginData(IDictionary <string, string> lastmetadata) { var nftData = await NFTHelpers.LoadNFTOriginData(Utxo, true); if (nftData != null) { ParseCommon(nftData.NFTMetadata); ParsePrice(lastmetadata); await ParseDogeftInfo(lastmetadata); ParseSoldInfo(lastmetadata); SourceTxId = nftData.SourceTxId; NFTOriginTxId = nftData.NFTOriginTxId; ParseSpecific(nftData.NFTMetadata); Used = nftData.Used; AddUsedTags(); MintAuthorAddress = await NeblioTransactionHelpers.GetTransactionSender(NFTOriginTxId); IsLoaded = true; } }
public async Task GetPartner() { var rec = await NeblioTransactionHelpers.GetTransactionSender(Utxo, TxDetails); if (!string.IsNullOrEmpty(rec)) { Partner = rec; } }
/// <summary> /// Get last data of this NFT /// </summary> /// <returns></returns> public async Task GetLastData() { var nftData = await NFTHelpers.LoadLastData(Utxo); if (nftData != null) { ParseCommon(nftData.NFTMetadata); ParsePrice(nftData.NFTMetadata); SourceTxId = nftData.SourceTxId; NFTOriginTxId = nftData.NFTOriginTxId; ParseSpecific(nftData.NFTMetadata); MintAuthorAddress = await NeblioTransactionHelpers.GetTransactionSender(NFTOriginTxId); Used = nftData.Used; AddUsedTags(); IsLoaded = true; } }