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

Commit 4d75c64

Browse files
committed
Fix owners returning 0 for recently minted objekts
1 parent 8eef538 commit 4d75c64

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

conseilUtil.js

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,33 @@ const gethDaoBalances = async () => {
261261

262262
}
263263

264+
const getObjektOwners = async (objekt_id) => {
265+
let objektBalanceQuery = conseiljs.ConseilQueryBuilder.blankQuery();
266+
objektBalanceQuery = conseiljs.ConseilQueryBuilder.addFields(objektBalanceQuery, 'key', 'value');
267+
objektBalanceQuery = conseiljs.ConseilQueryBuilder.addPredicate(objektBalanceQuery, 'big_map_id', conseiljs.ConseilOperator.EQ, [mainnet.nftLedger])
268+
objektBalanceQuery = conseiljs.ConseilQueryBuilder.addPredicate(objektBalanceQuery, 'key', conseiljs.ConseilOperator.ENDSWITH, [` ${objekt_id}`], false)
269+
objektBalanceQuery = conseiljs.ConseilQueryBuilder.addPredicate(objektBalanceQuery, 'value', conseiljs.ConseilOperator.EQ, [0], true)
270+
objektBalanceQuery = conseiljs.ConseilQueryBuilder.setLimit(objektBalanceQuery, 500_000)
271+
272+
let objektMap = {}
273+
274+
try {
275+
const balanceResult = await conseiljs.TezosConseilClient.getTezosEntityData({ url: conseilServer, apiKey: conseilApiKey, network: 'mainnet' }, 'mainnet', 'big_map_contents', objektBalanceQuery);
276+
277+
278+
balanceResult.forEach(row => {
279+
objektMap[conseiljs.TezosMessageUtils.readAddress(row['key'].toString().replace(/^Pair 0x([0-9a-z]{1,}) [0-9]+/, '$1'))] = row['value']
280+
})
281+
//#balance = balanceResult[0]['value'] // TODO: consider bigNumber here, for the moment there is no reason for it
282+
} catch (error) {
283+
console.log(`getObjektOwners failed for ${JSON.stringify(objektBalanceQuery)} with ${error}`)
284+
}
285+
286+
287+
return objektMap
288+
289+
}
290+
264291
const getObjektMintingsLastWeek = async () => {
265292
var d = new Date();
266293
d.setDate(d.getDate()-5);
@@ -538,5 +565,6 @@ module.exports = {
538565
getArtisticUniverse,
539566
getFeaturedArtisticUniverse,
540567
hDAOFeed,
541-
getRecommendedCurateDefault
568+
getRecommendedCurateDefault,
569+
getObjektOwners
542570
}

index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const getIpfsHash = async (ipfsHash) => {
1919

2020

2121
const owners = async (obj) => {
22-
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)
22+
var owners = await conseilUtil.getObjektOwners(obj.token_id)
2323
var values_arr = (_.values(owners))
2424
obj.total_amount = (values_arr.map(e => parseInt(e))).length > 0 ? values_arr.filter(e => parseInt(e) > 0).reduce(reducer) : 0
2525
obj.owners = owners

0 commit comments

Comments
 (0)