Skip to content
This repository has been archived by the owner on Nov 10, 2021. It is now read-only.

Commit

Permalink
Merge pull request #40 from hicetnunc2000/fix_owners
Browse files Browse the repository at this point in the history
Fix owners returning 0 for recently minted objekts
  • Loading branch information
veqtor authored Apr 9, 2021
2 parents 8eef538 + 4d75c64 commit aecf7d3
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 2 deletions.
30 changes: 29 additions & 1 deletion conseilUtil.js
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,33 @@ const gethDaoBalances = async () => {

}

const getObjektOwners = async (objekt_id) => {
let objektBalanceQuery = conseiljs.ConseilQueryBuilder.blankQuery();
objektBalanceQuery = conseiljs.ConseilQueryBuilder.addFields(objektBalanceQuery, 'key', 'value');
objektBalanceQuery = conseiljs.ConseilQueryBuilder.addPredicate(objektBalanceQuery, 'big_map_id', conseiljs.ConseilOperator.EQ, [mainnet.nftLedger])
objektBalanceQuery = conseiljs.ConseilQueryBuilder.addPredicate(objektBalanceQuery, 'key', conseiljs.ConseilOperator.ENDSWITH, [` ${objekt_id}`], false)
objektBalanceQuery = conseiljs.ConseilQueryBuilder.addPredicate(objektBalanceQuery, 'value', conseiljs.ConseilOperator.EQ, [0], true)
objektBalanceQuery = conseiljs.ConseilQueryBuilder.setLimit(objektBalanceQuery, 500_000)

let objektMap = {}

try {
const balanceResult = await conseiljs.TezosConseilClient.getTezosEntityData({ url: conseilServer, apiKey: conseilApiKey, network: 'mainnet' }, 'mainnet', 'big_map_contents', objektBalanceQuery);


balanceResult.forEach(row => {
objektMap[conseiljs.TezosMessageUtils.readAddress(row['key'].toString().replace(/^Pair 0x([0-9a-z]{1,}) [0-9]+/, '$1'))] = row['value']
})
//#balance = balanceResult[0]['value'] // TODO: consider bigNumber here, for the moment there is no reason for it
} catch (error) {
console.log(`getObjektOwners failed for ${JSON.stringify(objektBalanceQuery)} with ${error}`)
}


return objektMap

}

const getObjektMintingsLastWeek = async () => {
var d = new Date();
d.setDate(d.getDate()-5);
Expand Down Expand Up @@ -538,5 +565,6 @@ module.exports = {
getArtisticUniverse,
getFeaturedArtisticUniverse,
hDAOFeed,
getRecommendedCurateDefault
getRecommendedCurateDefault,
getObjektOwners
}
2 changes: 1 addition & 1 deletion index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const getIpfsHash = async (ipfsHash) => {


const owners = async (obj) => {
var owners = await axios.get('https://api.better-call.dev/v1/contract/mainnet/KT1RJ6PbjHpwc3M5rw5s2Nbmefwbuwbdxton/tokens/holders?token_id=' + obj.token_id).then(res => res.data)
var owners = await conseilUtil.getObjektOwners(obj.token_id)
var values_arr = (_.values(owners))
obj.total_amount = (values_arr.map(e => parseInt(e))).length > 0 ? values_arr.filter(e => parseInt(e) > 0).reduce(reducer) : 0
obj.owners = owners
Expand Down

0 comments on commit aecf7d3

Please sign in to comment.