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

Commit 8fabbbd

Browse files
2 parents 67888ab + 89a933d commit 8fabbbd

File tree

5 files changed

+95
-81
lines changed

5 files changed

+95
-81
lines changed

.serverless/cloudformation-template-update-stack.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@
146146
"S3Bucket": {
147147
"Ref": "ServerlessDeploymentBucket"
148148
},
149-
"S3Key": "serverless/hicetnunc-apiv2/dev/1615707033151-2021-03-14T07:30:33.151Z/hicetnunc-apiv2.zip"
149+
"S3Key": "serverless/hicetnunc-apiv2/dev/1615880662823-2021-03-16T07:44:22.823Z/hicetnunc-apiv2.zip"
150150
},
151151
"FunctionName": "hicetnunc-apiv2-dev-handler",
152152
"Handler": "index.handler",
@@ -164,14 +164,14 @@
164164
"HandlerLogGroup"
165165
]
166166
},
167-
"HandlerLambdaVersionpuxzjXZdg2oxej79Zkz0mCbPlEe2x5AvJXetNyncUTY": {
167+
"HandlerLambdaVersion9JxeJVymMLadKim0CA2xts3Sq7MjDv9hgb8Kjy21D9E": {
168168
"Type": "AWS::Lambda::Version",
169169
"DeletionPolicy": "Retain",
170170
"Properties": {
171171
"FunctionName": {
172172
"Ref": "HandlerLambdaFunction"
173173
},
174-
"CodeSha256": "XOR+3dSiXPTki8+z0MjWdw9DENmKT6zIJmruhcmm66I="
174+
"CodeSha256": "A5PEtCLwbB+fMx1VYq50HcNNaaGwfrVhq2LCEwgYZbk="
175175
}
176176
},
177177
"ApiGatewayRestApi": {
@@ -383,7 +383,7 @@
383383
"MethodResponses": []
384384
}
385385
},
386-
"ApiGatewayDeployment1615707029161": {
386+
"ApiGatewayDeployment1615880658144": {
387387
"Type": "AWS::ApiGateway::Deployment",
388388
"Properties": {
389389
"RestApiId": {
@@ -445,7 +445,7 @@
445445
"HandlerLambdaFunctionQualifiedArn": {
446446
"Description": "Current Lambda function version",
447447
"Value": {
448-
"Ref": "HandlerLambdaVersionpuxzjXZdg2oxej79Zkz0mCbPlEe2x5AvJXetNyncUTY"
448+
"Ref": "HandlerLambdaVersion9JxeJVymMLadKim0CA2xts3Sq7MjDv9hgb8Kjy21D9E"
449449
}
450450
},
451451
"ServiceEndpoint": {

.serverless/hicetnunc-apiv2.zip

1.66 KB
Binary file not shown.

.serverless/serverless-state.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@
159159
"S3Bucket": {
160160
"Ref": "ServerlessDeploymentBucket"
161161
},
162-
"S3Key": "serverless/hicetnunc-apiv2/dev/1615707033151-2021-03-14T07:30:33.151Z/hicetnunc-apiv2.zip"
162+
"S3Key": "serverless/hicetnunc-apiv2/dev/1615880662823-2021-03-16T07:44:22.823Z/hicetnunc-apiv2.zip"
163163
},
164164
"FunctionName": "hicetnunc-apiv2-dev-handler",
165165
"Handler": "index.handler",
@@ -177,14 +177,14 @@
177177
"HandlerLogGroup"
178178
]
179179
},
180-
"HandlerLambdaVersionpuxzjXZdg2oxej79Zkz0mCbPlEe2x5AvJXetNyncUTY": {
180+
"HandlerLambdaVersion9JxeJVymMLadKim0CA2xts3Sq7MjDv9hgb8Kjy21D9E": {
181181
"Type": "AWS::Lambda::Version",
182182
"DeletionPolicy": "Retain",
183183
"Properties": {
184184
"FunctionName": {
185185
"Ref": "HandlerLambdaFunction"
186186
},
187-
"CodeSha256": "XOR+3dSiXPTki8+z0MjWdw9DENmKT6zIJmruhcmm66I="
187+
"CodeSha256": "A5PEtCLwbB+fMx1VYq50HcNNaaGwfrVhq2LCEwgYZbk="
188188
}
189189
},
190190
"ApiGatewayRestApi": {
@@ -396,7 +396,7 @@
396396
"MethodResponses": []
397397
}
398398
},
399-
"ApiGatewayDeployment1615707029161": {
399+
"ApiGatewayDeployment1615880658144": {
400400
"Type": "AWS::ApiGateway::Deployment",
401401
"Properties": {
402402
"RestApiId": {
@@ -458,7 +458,7 @@
458458
"HandlerLambdaFunctionQualifiedArn": {
459459
"Description": "Current Lambda function version",
460460
"Value": {
461-
"Ref": "HandlerLambdaVersionpuxzjXZdg2oxej79Zkz0mCbPlEe2x5AvJXetNyncUTY"
461+
"Ref": "HandlerLambdaVersion9JxeJVymMLadKim0CA2xts3Sq7MjDv9hgb8Kjy21D9E"
462462
}
463463
},
464464
"ServiceEndpoint": {
@@ -616,7 +616,7 @@
616616
"memory": 1024,
617617
"runtime": "nodejs12.x",
618618
"vpc": {},
619-
"versionLogicalId": "HandlerLambdaVersionpuxzjXZdg2oxej79Zkz0mCbPlEe2x5AvJXetNyncUTY"
619+
"versionLogicalId": "HandlerLambdaVersion9JxeJVymMLadKim0CA2xts3Sq7MjDv9hgb8Kjy21D9E"
620620
}
621621
},
622622
"configValidationMode": "warn",
@@ -2506,8 +2506,8 @@
25062506
"node_modules/@types/aws-lambda/trigger/sns.d.ts",
25072507
"node_modules/@types/aws-lambda/trigger/sqs.d.ts"
25082508
],
2509-
"artifact": "/home/crzy/Desktop/programs/lambdas-aws/hicetnunc-api2/.serverless/hicetnunc-apiv2.zip",
2510-
"artifactDirectoryName": "serverless/hicetnunc-apiv2/dev/1615707033151-2021-03-14T07:30:33.151Z"
2509+
"artifact": "/home/crzy/Desktop/programs/lambdas-aws/api-final/new2/hicetnunc-api/.serverless/hicetnunc-apiv2.zip",
2510+
"artifactDirectoryName": "serverless/hicetnunc-apiv2/dev/1615880662823-2021-03-16T07:44:22.823Z"
25112511
},
25122512
"plugins": {
25132513
"$ref": "$[\"service\"][\"plugins\"]"
@@ -2521,10 +2521,10 @@
25212521
}
25222522
},
25232523
"isDashboardMonitoringPreconfigured": false,
2524-
"artifact": "/home/crzy/Desktop/programs/lambdas-aws/hicetnunc-api2/.serverless/hicetnunc-apiv2.zip"
2524+
"artifact": "/home/crzy/Desktop/programs/lambdas-aws/api-final/new2/hicetnunc-api/.serverless/hicetnunc-apiv2.zip"
25252525
},
25262526
"package": {
2527-
"artifactDirectoryName": "serverless/hicetnunc-apiv2/dev/1615707033151-2021-03-14T07:30:33.151Z",
2527+
"artifactDirectoryName": "serverless/hicetnunc-apiv2/dev/1615880662823-2021-03-16T07:44:22.823Z",
25282528
"artifact": "hicetnunc-apiv2.zip"
25292529
}
25302530
}

conseilUtil.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ const getArtisticUniverse = async (offset) => {
282282
const objectUrl = row['value'].toString().replace(/.* 0x([0-9a-z]{1,}) \}$/, '$1')
283283
const ipfsHash = Buffer.from(objectUrl, 'hex').toString().slice(7);
284284

285-
universe.push({ objectId, ipfsHash, minter: artistMap[objectId], swaps: swapMap[objectId] })
285+
universe.push({ objectId, ipfsHash, minter: artistMap[objectId], swaps: swapMap[objectId] !== undefined ? swapMap[objectId] : []})
286286
}))))
287287

288288
return universe

index.js

Lines changed: 79 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ const reducer = (accumulator, currentValue) => accumulator + currentValue;
1111
const getIpfsHash = async (ipfsHash) => {
1212

1313
return await axios.get('https://cloudflare-ipfs.com/ipfs/' + ipfsHash).then(res => res.data)
14-
/* const nftDetailJson = await nftDetails.json();
15-
16-
const nftName = nftDetailJson.name;
17-
const nftDescription = nftDetailJson.description;
18-
const nftCreators = nftDetailJson.creators.join(', ');
19-
const nftArtifact = `https://cloudflare-ipfs.com/ipfs/${nftDetailJson.formats[0].uri.toString().slice(7)}`;
20-
const nftArtifactType = nftDetailJson.formats[0].mimeType.toString();
21-
22-
return { name: nftName, description: nftDescription, creators: nftCreators, artifactUrl: nftArtifact, artifactType: nftArtifactType }; */
14+
/* const nftDetailJson = await nftDetails.json();
15+
16+
const nftName = nftDetailJson.name;
17+
const nftDescription = nftDetailJson.description;
18+
const nftCreators = nftDetailJson.creators.join(', ');
19+
const nftArtifact = `https://cloudflare-ipfs.com/ipfs/${nftDetailJson.formats[0].uri.toString().slice(7)}`;
20+
const nftArtifactType = nftDetailJson.formats[0].mimeType.toString();
21+
22+
return { name: nftName, description: nftDescription, creators: nftCreators, artifactUrl: nftArtifact, artifactType: nftArtifactType }; */
2323
}
2424
const getObjkts = async () => {
2525
return await axios.get(`https://api.better-call.dev/v1/contract/mainnet/KT1RJ6PbjHpwc3M5rw5s2Nbmefwbuwbdxton/tokens`).then(res => res.data)
@@ -32,18 +32,21 @@ const getTokenHolders = async (tk_id) => {
3232
const getTokenHoldersArr = async (arr) => {
3333

3434
return await arr.map(async e => await axios.get('https://api.better-call.dev/v1/contract/mainnet/KT1RJ6PbjHpwc3M5rw5s2Nbmefwbuwbdxton/tokens/holders?token_id=' + e).then(res => res.data))
35-
/* await axios.get('https://api.better-call.dev/v1/contract/mainnet/KT1RJ6PbjHpwc3M5rw5s2Nbmefwbuwbdxton/tokens/holders?token_id=' + arr[0]).then(res => console.log(res.data))
36-
*//* var result = arr.map(async e => {
37-
return await axios.get('https://api.better-call.dev/v1/contract/mainnet/KT1RJ6PbjHpwc3M5rw5s2Nbmefwbuwbdxton/tokens/holders?token_id=' + e).then(res => res.data)
38-
})
39-
40-
console.log(result) */
35+
/* await axios.get('https://api.better-call.dev/v1/contract/mainnet/KT1RJ6PbjHpwc3M5rw5s2Nbmefwbuwbdxton/tokens/holders?token_id=' + arr[0]).then(res => console.log(res.data))
36+
*//* var result = arr.map(async e => {
37+
return await axios.get('https://api.better-call.dev/v1/contract/mainnet/KT1RJ6PbjHpwc3M5rw5s2Nbmefwbuwbdxton/tokens/holders?token_id=' + e).then(res => res.data)
38+
})
39+
40+
console.log(result) */
4141
}
4242

43-
const totalAmount = async (obj) => {
43+
const owners = async (obj) => {
4444
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)
4545
var values_arr = (_.values(owners))
46-
obj.total_amount = (values_arr.map(e => parseInt(e))).reduce(reducer)
46+
console.log(owners)
47+
obj.owners = owners
48+
console.log(obj)
49+
//obj.total_amount = (values_arr.map(e => parseInt(e))).reduce(reducer)
4750
return obj
4851
}
4952

@@ -68,17 +71,17 @@ const objktOwners = async (arr) => {
6871

6972
const getObjktLedger = async () => await axios.get('https://better-call.dev/v1/bigmap/mainnet/511/keys?size=6500').then(res => res.data.map(e => ({ amount: parseInt(e.data.value.value), tz: e.data.key.children[0].value, tk_id: parseInt(e.data.key.children[1].value) })))
7073
const gethDAOLedger = async () => await axios.get('https://api.better-call.dev/v1/bigmap/mainnet/519/keys?size=4000').then(res => res.data.map(e => {
71-
return { token_id : parseInt(e.data.key.value), hDAO_balance : parseInt(e.data.value.children[0].value) }
74+
return { token_id: parseInt(e.data.key.value), hDAO_balance: parseInt(e.data.value.children[0].value) }
7275
}))
7376

74-
gethDAOLedger()
77+
//gethDAOLedger()
7578

7679

7780
const getSwaps = async () => {
7881
return await axios.get(`https://api.better-call.dev/v1/bigmap/mainnet/523/keys?size=6000`).then(res => {
7982
return (res.data).map(e => {
8083
var obj = {}
81-
84+
8285
obj['swap_id'] = e.data.key.value
8386
e.data.value != null ? e.data.value.children.map(e => obj[e.name] = e.value) : null
8487
return obj
@@ -111,44 +114,53 @@ const mergeSwaps = (arr, swaps) => {
111114
return arr
112115
}
113116

114-
const desc = arr => _.sortBy(arr, e => parseInt(e.token_id)).reverse()
115-
const offset = (arr, set) => arr.slice(set * 10, set * 10 + 10)
117+
const desc = arr => _.sortBy(arr, e => parseInt(e.objectId)).reverse()
118+
const offset = (arr, set) => arr.slice(set * 30, set * 30 + 30)
116119

117120
const filter = (data, tz) => _.filter(data, (e) => {
118121
if (e.token_info != undefined) {
119-
return e.token_info.creators[0] === tz
122+
return e.token_info.creators[0] === tz
120123
}
121124
})
122125

123-
const filterTz = (data, tz) => _.filter(data, { tz : tz })
126+
const filterTz = (data, tz) => _.filter(data, { tz: tz })
124127

125128
const test = async () => console.log(desc(await getObjkts()))
126-
129+
127130
const getFeed = async (counter, res) => {
128-
var feed = offset(desc(await getObjkts()), counter)
129-
var swaps = await getSwaps()
130-
var arr = await objktAmount(mergeSwaps(feed, swaps))
131-
var promise = Promise.all(arr.map(e => e))
132-
133-
promise.then((results) => {
131+
var arr = await conseilUtil.getArtisticUniverse(0)
132+
var feed = offset(desc(arr), counter)
133+
console.log(feed)
134+
feed = await feed.map(async e => {
135+
e.token_info = await getIpfsHash(e.ipfsHash)
136+
e.token_id = parseInt(e.objectId)
137+
console.log(e)
138+
return e
139+
})
140+
//console.log(feed)
141+
142+
var promise = Promise.all(feed.map(e => e))
143+
promise.then(async (results) => {
134144
var aux_arr = results.map(e => e)
145+
135146
//console.log(aux_arr)
136-
res.json({ result : aux_arr })
137-
}).catch(e=>{
138-
res.status(500).json({ error : 'downstream API failure' })
147+
res.json({ result: aux_arr })
139148
})
140149
}
141150
//getFeed(1)
142-
const filterObjkts = (arr, id_arr) => _.filter(arr, { token_id : tk.id })
151+
const filterObjkts = (arr, id_arr) => _.filter(arr, { token_id: tk.id })
143152
//console.log(_.find(ledger, { tz : 'KT1Hkg5qeNhfwpKW4fXvq7HGZB9z2EnmCCA9'}))
144153

145154
const getTzLedger = async (tz, res) => {
146-
/* var ledger = desc(await getObjktLedger())
147-
var objkts = await getObjkts()
148-
var tzLedger = _.map(filterTz(ledger, tz), (obj) => _.assign(obj, _.find(objkts, { token_id : obj.tk_id })))
149-
*/
155+
/* var ledger = desc(await getObjktLedger())
156+
var objkts = await getObjkts()
157+
var tzLedger = _.map(filterTz(ledger, tz), (obj) => _.assign(obj, _.find(objkts, { token_id : obj.tk_id })))
158+
*/
150159
var collection = await conseilUtil.getCollectionForAddress(tz)
151160
var creations = await conseilUtil.getArtisticOutputForAddress(tz)
161+
var hdao = await conseilUtil.gethDaoBalanceForAddress(tz)
162+
163+
console.log(hdao)
152164

153165
var arr = []
154166

@@ -165,14 +177,15 @@ const getTzLedger = async (tz, res) => {
165177
})
166178

167179
var promise = Promise.all(result.map(e => e))
168-
promise.then(results => {
180+
promise.then(async results => {
169181
var result = results.map(e => e)
170182
console.log(result)
171-
res.json({ result : _.uniqBy(result, (e) => {
172-
return e.token_id
173-
})})
174-
}).catch(e=>{
175-
res.status(500).json({ error : 'downstream API failure' })
183+
res.json({
184+
result: _.uniqBy(result, (e) => {
185+
return e.token_id
186+
}),
187+
hdao : hdao
188+
})
176189
})
177190

178191
//return tzLedger
@@ -181,23 +194,24 @@ const getTzLedger = async (tz, res) => {
181194
const getObjktById = async (id, res) => {
182195
var objkt = await conseilUtil.getObjectById(id)
183196
objkt.token_id = objkt.objectId
184-
objkt = await totalAmountIntegral(objkt)
197+
objkt = await owners(objkt)
185198
objkt.token_info = await getIpfsHash(objkt.ipfsHash)
186-
//console.log(objkt)
187-
//return objkt
199+
console.log(objkt)
200+
201+
return objkt
188202
//res.json({ result : objkt })
189203
//var objkts = await getObjkts()
190-
var swaps = await getSwaps()
191-
res.json({ result : mergeSwaps([objkt], swaps)[0] })
204+
//var swaps = await getSwaps()
205+
//res.json({ result : mergeSwaps([objkt], swaps)[0] })
192206
//console.log(_.filter(mergeSwaps(objkts, swaps), {token_id : id}))
193-
// var arr = await objktOwners(_.filter(mergeSwaps(objkts, swaps), {token_id : id}))
194-
// var promise = Promise.all(arr.map(e => e))
195-
196-
/* promise.then((results) => {
197-
var aux_arr = results.map(e => e)
198-
console.log(aux_arr)
199-
res.json({ result : aux_arr })
200-
}) */
207+
// var arr = await objktOwners(_.filter(mergeSwaps(objkts, swaps), {token_id : id}))
208+
// var promise = Promise.all(arr.map(e => e))
209+
210+
/* promise.then((results) => {
211+
var aux_arr = results.map(e => e)
212+
console.log(aux_arr)
213+
res.json({ result : aux_arr })
214+
}) */
201215
//https://api.better-call.dev/v1/contract/mainnet/KT1RJ6PbjHpwc3M5rw5s2Nbmefwbuwbdxton/tokens/holders?token_id=842
202216
}
203217

@@ -214,17 +228,17 @@ const hDAOFeed = async (counter, res) => {
214228
var promise = Promise.all(objkts.map(e => e))
215229
promise.then(results => {
216230
var result = results.map(e => e)
217-
res.json({ result : offset(result, counter) })
218-
}).catch(e=>{
219-
res.status(500).json({ error : 'downstream API failure' })
231+
res.json({ result: offset(result, counter) })
232+
}).catch(e => {
233+
res.status(500).json({ error: 'downstream API failure' })
220234
})
221235
}
222236

223237
//getObjkts()
224238
//testSwaps()
225239
//getFeed(0)
226240
//getTzLedger('tz1UBZUkXpKGhYsP5KtzDNqLLchwF4uHrGjw')
227-
//getObjktById(4441)
241+
//getObjktById(6246)
228242
//const test2 = async () => console.log(await getObjktLedger())
229243
//test2()
230244

@@ -240,18 +254,18 @@ app.post('/feed', async (req, res) => {
240254
app.post('/tz', async (req, res) => {
241255
console.log(req.body.tz)
242256
await getTzLedger(req.body.tz, res)
243-
//res.json({ result : await getTzLedger(req.body.tz) })
257+
244258
})
245259

246260
app.post('/objkt', async (req, res) => {
247-
await getObjktById(req.body.objkt_id, res)
261+
res.json({ result: await getObjktById(req.body.objkt_id) })
248262
})
249263

250264
app.post('/hdao', async (req, res) => {
251265
await hDAOFeed(parseInt(req.body.counter), res)
252266
})
253267

254-
//app.listen(3001)
268+
app.listen(3001)
255269
module.exports.handler = serverless(app)
256270

257271
//testTkHolder([{'kt' : 2020}, {'kt' : 2021}])

0 commit comments

Comments
 (0)