@@ -1042,7 +1039,7 @@
}
async function renderTransactions(container, transactions = []) {
- let txFrag = getTxFrag(transactions);
+ let txFrag = parseTransactions(transactions);
const renderedTransactions = txFrag.map(tx => {
switch (tx.type) {
case 'tokentransfer':
@@ -1064,7 +1061,6 @@
break;
}
})
- console.log(renderedTransactions)
renderElem(document.getElementById(container), html`${renderedTransactions.length ? renderedTransactions : html`
No transactions found
`}`)
}
@@ -1087,7 +1083,7 @@
renderElem(getRef('suggestions'), html`${renderedSuggestions}`)
}, 100))
async function getBannerData() {
- const { systemTransactionCount, systemAddressCount } = await fetchJson(`${tokenApiUrl}/api/v1.0/getSystemData`)
+ const { systemTransactionCount, systemAddressCount } = await fetchJson(`${tokenApiUrl}/api/v2/info`)
return {
topToken: "RMT",
totalTransactions: systemTransactionCount,
@@ -1103,135 +1099,20 @@
}
function getLatestTxs() {
- return fetchJson(`${tokenApiUrl}/api/v1.0/getLatestTransactionDetails?numberOfLatestBlocks=4`)
- .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,nftHash } } = latestTxs.latestTransactions[transactionKey];
- // determine txhash and blockHeight
- let obj = {
- hash: txid,
- blockHeight,
- };
-
- if (type != "smartContractPays") {
- // determine token
- obj["token"] = tokenIdentification;
-
- if (type == "transfer") {
- if (transferType == "token" || transferType == "nft") {
- // token transfer
- /* tokenTransferCard
- hash, blockHeight, token, sender, receiver, amount */
-
- let receiverAddress = "";
- for (const output of vout) {
- if (output["scriptPubKey"]["addresses"][0] !== vin[0]["addr"]) {
- receiverAddress = output["scriptPubKey"]["addresses"][0];
- break;
- }
- }
-
- obj = Object.assign({}, obj, {
- sender: vin[0]["addr"],
- receiver: receiverAddress,
- amount: tokenAmount,
- type: "tokentransfer",
- });
- latestTxArray.push(obj);
- } else if (transferType === "smartContract") {
- // smart contract transfer
- let receiverAddress = "";
- for (const output of vout) {
- if (output["scriptPubKey"]["addresses"][0] != vin[0]["addr"]) {
- receiverAddress = output["scriptPubKey"]["addresses"][0];
- break;
- }
- }
-
- obj = Object.assign({}, obj, {
- sender: vin[0]["addr"],
- receiver: receiverAddress,
- amount: tokenAmount,
- contractName: contractName,
- userChoice: userChoice,
- type: "contracttransfer",
- });
- latestTxArray.push(obj);
- }
- } else if (type === "smartContractIncorporation") {
- // smart contract incorporation
- // todo : add checks to determine obj for different types of smart contract incorporation
- obj = Object.assign({}, obj, {
- contractName: contractName,
- incAddress: contractAddress,
- contractType: contractType,
- expiration: expiryTime,
- participationFees: contractAmount,
- availableChoices: "",
- type: "contractincorp",
- });
- latestTxArray.push(obj);
- } else if (type === "tokenIncorporation") {
- // token incorporation
- // smart contract incorporation
- obj = Object.assign({}, obj, {
- incAddress: vin[0]["addr"],
- supply: tokenAmount,
- 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
- // smart contract incorporation
- let receiverAddress = "";
- for (const output of vout) {
- if (output["scriptPubKey"]["addresses"][0] != vin[0]["addr"]) {
- receiverAddress = output["scriptPubKey"]["addresses"][0];
- break;
- }
- }
- obj = Object.assign({}, obj, {
- contractName,
- contractAddress: receiverAddress,
- winningChoice: triggerCondition,
- committeeAddress: vin[0]["addr"],
- type: "contracttrigger",
- });
- latestTxArray.push(obj);
- }
- }
- return latestTxArray;
- }).catch((err) => {
- console.log(err)
- });
- }
-
- function getLatestBlocks() {
- return fetchJson(
- `${tokenApiUrl}/api/v1.0/getLatestBlockDetails?numberOfLatestBlocks=4`
- )
- .then(function (latestBlocks) {
- let obj = {};
- return obj;
- });
+ return new Promise((resolve,reject) => {
+ fetchJson(`${tokenApiUrl}/api/v2/latestTransactionDetails?limit=4`)
+ .then(function (latestTxs) {
+ resolve(latestTxs.latestTransactions)
+ }).catch((err) => {
+ reject(err)
+ });
+ })
}
function getTokenInfo(thisToken) {
return new Promise((resolve, reject) => {
fetchJson(
- `${tokenApiUrl}/api/v1.0/getTokenInfo?token=${thisToken.toLowerCase()}`
+ `${tokenApiUrl}/api/v2/tokenInfo/${thisToken.toLowerCase()}`
).then(function (tokenInfo) {
if (tokenInfo.result === "error")
reject(tokenInfo.description);
@@ -1253,17 +1134,17 @@
}
async function getTokenBalances(tokenName) {
- const tokenDetails = await fetchJson(`${tokenApiUrl}/api/v1.0/getTokenBalances?token=` + tokenName)
+ const tokenDetails = await fetchJson(`${tokenApiUrl}/api/v2/tokenBalances/` + tokenName)
return tokenDetails.balances
}
async function getTokenTransactions(tokenName) {
- const transactions = await fetchJson(`${tokenApiUrl}/api/v1.0/getTokenTransactions?token=` + tokenName)
+ const transactions = await fetchJson(`${tokenApiUrl}/api/v2/tokenTransactions/` + tokenName)
return transactions.transactions
}
async function getBlockInfo(thisBlock) {
- const info = await fetchJson(`${tokenApiUrl}/api/v1.0/getBlockDetails/${thisBlock}`);
+ const info = await fetchJson(`${tokenApiUrl}/api/v2/blockDetails/${thisBlock}`);
const { height, size, reward, hash, difficulty, nonce, tx } = info.blockDetails
return {
blockHeight: height,
@@ -1278,12 +1159,12 @@
async function getBlockTransactions(thisBlock) {
- const blockTransactions = await fetchJson(`${tokenApiUrl}/api/v1.0/getBlockTransactions/${thisBlock}`)
+ const blockTransactions = await fetchJson(`${tokenApiUrl}/api/v2/blockTransactions/${thisBlock}`)
return blockTransactions.transactions
}
async function getContractInfo(contract) {
- const info = await fetchJson(`${tokenApiUrl}/api/v1.0/getSmartContractInfo?contractName=${contract.name}&contractAddress=${contract.address}`);
+ const info = await fetchJson(`${tokenApiUrl}/api/v2/smartContractInfo?contractName=${contract.name}&contractAddress=${contract.address}`);
console.log(info, contract)
const { contractInfo: { contractType, status, expiryTime, payeeAddress, userChoice, tokenIdentification, contractAmount, minimumsubscriptionamount, maximumsubscriptionamount }, contractAddress, contractName } = info
return {
@@ -1302,27 +1183,29 @@
}
async function getContractParticipants(contract) {
- const participants = await fetchJson(`${tokenApiUrl}/api/v1.0/getSmartContractParticipants?contractName=${contract.name}&contractAddress=${contract.address}`)
+ const participants = await fetchJson(`${tokenApiUrl}/api/v2/smartContractParticipants?contractName=${contract.name}&contractAddress=${contract.address}`)
return participants.participantInfo
}
async function getContractTransactions(contract) {
- const transactions = await fetchJson(`${tokenApiUrl}/api/v1.0/getSmartContractTransactions?contractName=${contract.name}&contractAddress=${contract.address}`)
+ const transactions = await fetchJson(`${tokenApiUrl}/api/v2/smartContractTransactions?contractName=${contract.name}&contractAddress=${contract.address}`)
return transactions.contractTransactions
}
- function getTxFrag(txList) {
- // Check if "txList" is array or object
- if (Array.isArray(txList))
- return txList;
- // Object
+ function parseTransactions(txList) {
let latestTxArray = [];
- for (const transactionKey in txList) {
- 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];
+ txList.forEach(tx => {
+ // 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
+ }
+ } = tx;
let obj = {
hash: txid,
blockHeight,
@@ -1340,7 +1223,7 @@
break;
}
}
-
+
obj = Object.assign({}, obj, {
sender: vin[0]["addr"],
receiver: receiverAddress,
@@ -1358,7 +1241,7 @@
break;
}
}
-
+
obj = Object.assign({}, obj, {
sender: vin[0]["addr"],
receiver: receiverAddress,
@@ -1405,10 +1288,10 @@
latestTxArray.push(obj);
break;
}
-
+
} else {
// transaction is a FLO Smart Contract Committee trigger
-
+
let receiver = "", sender = vin[0]['addr'];
for (const output of vout) {
if (output["scriptPubKey"]["addresses"][0] !== vin[0]["addr"]) {
@@ -1416,7 +1299,7 @@
break;
}
}
-
+
obj = Object.assign({}, obj, {
hash: txid,
blockHeight,
@@ -1428,22 +1311,23 @@
});
latestTxArray.push(obj);
}
- }
+ })
+
return latestTxArray;
}
async function getAllBlocks(number) {
- const allBlocks = await fetchJson(`${tokenApiUrl}/api/v1.0/getLatestBlockDetails${number ? `?limit=${number}` : ''}`)
+ const allBlocks = await fetchJson(`${tokenApiUrl}/api/v2/latestBlockDetails${number ? `?limit=${number}` : ''}`)
return Object.values(allBlocks.latestBlocks).sort((a, b) => b.height - a.height)
}
async function getAllTxs() {
- const allTxs = await fetchJson(`${tokenApiUrl}/api/v1.0/getLatestTransactionDetails?limit=200`)
+ const allTxs = await fetchJson(`${tokenApiUrl}/api/v2/latestTransactionDetails?limit=200`)
return allTxs.latestTransactions
}
async function getAddressInfo(floAddress) {
- const addressInfo = await fetchJson(`${tokenApiUrl}/api/v1.0/getFloAddressInfo?floAddress=${floAddress}`)
+ const addressInfo = await fetchJson(`${tokenApiUrl}/api/v2/floAddressInfo/${floAddress}`)
return addressInfo.floAddressBalances
}
@@ -1452,13 +1336,13 @@
}
async function getAddressTxs(floAddress) {
- const transactions = await fetchJson(`${tokenApiUrl}/api/v1.0/getFloAddressTransactions?floAddress=${floAddress}`)
+ const transactions = await fetchJson(`${tokenApiUrl}/api/v2/floAddressTransactions/${floAddress}`)
return transactions.transactions
}
async function getTxInfo(thisTx) {
try {
- const transaction = await fetchJson(`${tokenApiUrl}/api/v1.0/getTransactionDetails/${thisTx}`)
+ const transaction = await fetchJson(`${tokenApiUrl}/api/v2/transactionDetails/${thisTx}`)
if (transaction.result === 'error') {
return [false, transaction.description]
} else {
@@ -1545,9 +1429,9 @@
location.href = `#/contract/${text}`
resolve('contract')
} else if (text.length == 64 && returnHexNumber(text)) {
- fetchJson(`${window.tokenApiUrl}/api/v1.0/categoriseString/` + text)
+ fetchJson(`${window.tokenApiUrl}/api/v2/categoriseString/` + text)
.then(function (myJson) {
- console.log(`${window.tokenApiUrl}/api/v1.0/categoriseString/` + text)
+ console.log(`${window.tokenApiUrl}/api/v2/categoriseString/` + text)
if (myJson['type'] == 'transaction') {
//console.log('data entered is a transaction hash');
location.href = `#/transaction/${text}`
@@ -1581,7 +1465,7 @@
async function getAllSuggestions() {
window.allSuggestions = [];
window.ranchimallFlo = {};
- let { tokens, smartContracts } = await fetchJson(`${window.tokenApiUrl}/api/v1.0/getTokenSmartContractList`);
+ let { tokens, smartContracts } = await fetchJson(`${window.tokenApiUrl}/api/v2/tokenSmartContractList`);
//console.log('first line of the fetch result');
ranchimallFlo.tokenList = tokens;
ranchimallFlo.smartContractList = smartContracts;