Transaction ID
@@ -1015,12 +1039,14 @@
const renderedTransactions = txFrag.map(tx => {
switch (tx.type) {
case 'tokentransfer':
+ case 'nfttransfer':
return render.tokenTransferCard(tx)
break;
case 'contracttransfer':
return render.contractTransferCard(tx);
break;
case 'tokenincorp':
+ case 'nftincorp':
return render.tokenCreationCard(tx);
break;
case 'contractincorp':
@@ -1031,6 +1057,7 @@
break;
}
})
+ console.log(renderedTransactions)
renderElem(document.getElementById(container), html`${renderedTransactions.length ? renderedTransactions : html`
No transactions found
`}`)
}
@@ -1073,7 +1100,7 @@
.then(function (latestTxs) {
let latestTxArray = [];
for (const transactionKey in latestTxs.latestTransactions) {
- const { transactionDetails: { txid, blockHeight, vin, vout }, parsedFloData: { type, tokenAmount, tokenIdentification, transferType, contractName, triggerCondition, userChoice } } = latestTxs.latestTransactions[transactionKey];
+ const { transactionDetails: { txid, blockHeight, vin, vout }, parsedFloData: { type, tokenAmount, tokenIdentification, transferType, contractName, triggerCondition, userChoice,nftHash } } = latestTxs.latestTransactions[transactionKey];
// determine txhash and blockHeight
let obj = {
hash: txid,
@@ -1085,7 +1112,7 @@
obj["token"] = tokenIdentification;
if (type == "transfer") {
- if (transferType == "token") {
+ if (transferType == "token" || transferType == "nft") {
// token transfer
/* tokenTransferCard
hash, blockHeight, token, sender, receiver, amount */
@@ -1147,6 +1174,16 @@
type: "tokenincorp",
});
latestTxArray.push(obj);
+ } else if (type === "nftIncorporation") {
+ // token incorporation
+ // smart contract incorporation
+ obj = Object.assign({}, obj, {
+ incAddress: vin[0]["addr"],
+ supply: tokenAmount,
+ type,
+ nftHash,
+ });
+ latestTxArray.push(obj);
}
} else {
// smart contract committee trigger
@@ -1169,6 +1206,8 @@
}
}
return latestTxArray;
+ }).catch((err) => {
+ console.log(err)
});
}
@@ -1272,18 +1311,21 @@
// Object
let latestTxArray = [];
for (const transactionKey in txList) {
- const { transactionDetails: { txid, blockHeight, vin, vout }, parsedFloData: { contractAddress, contractType, expiryTime, contractAmount, type, tokenAmount, tokenIdentification, transferType, contractName, triggerCondition, userChoice } } = txList[transactionKey];
+ console.log(transactionKey)
+ if(transactionKey == '11571ce7e5eed0bce30e24de89bb1ba6cc432df7b5b40bbc9f0225b98968cb47'){
+ //debugger
+ }
+ const { transactionDetails: { txid, blockHeight, vin, vout }, parsedFloData: { contractAddress, contractType, expiryTime, contractAmount, type, tokenAmount, tokenIdentification, transferType, contractName, triggerCondition, userChoice,nftHash } } = txList[transactionKey];
let obj = {
hash: txid,
blockHeight,
};
-
if (type != "smartContractPays") {
// determine token
obj["token"] = tokenIdentification;
switch (type) {
case 'transfer':
- if (transferType == "token") {
+ if (transferType == "token" || transferType == 'nft') {
let receiverAddress = "";
for (const output of vout) {
if (output["scriptPubKey"]["addresses"][0] !== vin[0]["addr"]) {
@@ -1296,7 +1338,7 @@
sender: vin[0]["addr"],
receiver: receiverAddress,
amount: tokenAmount,
- type: "tokentransfer",
+ type: transferType == "token" ? "tokentransfer" : "nfttransfer",
});
latestTxArray.push(obj);
break;
@@ -1331,7 +1373,6 @@
});
latestTxArray.push(obj);
break;
-
case 'smartContractIncorporation':
// smart contract incorporation
// todo : add checks to determine obj for different types of smart contract incorporation
@@ -1346,7 +1387,17 @@
});
latestTxArray.push(obj);
break;
- }
+ case 'nftIncorporation':
+ // nft incorporation
+ obj = Object.assign({}, obj, {
+ incAddress: vin[0]["addr"],
+ supply: tokenAmount,
+ type: "nftincorp",
+ nftHash
+ });
+ latestTxArray.push(obj);
+ break;
+ }
} else {
// transaction is a FLO Smart Contract Committee trigger
@@ -1405,7 +1456,7 @@
return [false, transaction.description]
} else {
let transactionHash = transaction.transactionHash,
- { flodata, tokenAmount, tokenIdentification, type } = transaction.parsedFloData,
+ { flodata, tokenAmount, tokenIdentification, type,nftHash } = transaction.parsedFloData,
{ blockheight, vin, vout, confirmations } = transaction.transactionDetails;
let receiver = "",
sender = vin[0].addr;
@@ -1415,7 +1466,7 @@
}
}
console.log(transaction)
- // todo - temporary fixes below. Fix these on the Databse and API level
+ // todo - temporary fixes below. Fix these on the Database and API level
let transactionType = ''
if (type == 'transfer') {
transactionType = transaction.parsedFloData?.transferType
@@ -1430,11 +1481,12 @@
name: tokenIdentification,
blockHeight: blockheight,
amount: tokenAmount,
- sender: sender,
- receiver: receiver,
+ sender,
+ receiver,
floData: flodata,
hash: transactionHash,
- confirmations: confirmations
+ confirmations,
+ nftHash
}
]
}
@@ -1530,7 +1582,6 @@
ranchimallFlo.smartContractNameAddressList = [];
//console.log(ranchimallFlo.smartContractList.length);
ranchimallFlo.smartContractList.forEach(contract => {
- console.log(contract.contractName);
allSuggestions.push(`${contract.contractName}-${contract.contractAddress}`);
ranchimallFlo.smartContractNameList.push(contract.contractName);
ranchimallFlo.smartContractNameAddressList.push(`${contract.contractName}-${contract.contractAddress}`);