mirror of
https://github.com/stronk-dev/RandomChad.git
synced 2025-07-05 10:35:08 +02:00
Fix typecasting issue
This commit is contained in:
parent
8f0262b49a
commit
836272b1db
@ -1,7 +1,7 @@
|
|||||||
const name = require( 'random-name' )
|
const name = require( 'random-name' )
|
||||||
const { db } = require( './firebase' )
|
const { db } = require( './firebase' )
|
||||||
const { getTotalSupply } = require( './contract' )
|
const { getTotalSupply } = require( './contract' )
|
||||||
const { pickRandomArrayEntry, pickRandomAttributes, randomNumberBetween, globalAttributes, heavenlyBodies, web2domain, lorem, getColorName } = require( './helpers' )
|
const { pickRandomArrayEntry, pickRandomAttributes, randomNumberBetween, globalAttributes, heavenlyBodies, web2domain, getColorName } = require( './helpers' )
|
||||||
const svgFromAttributes = require( './svg-generator' )
|
const svgFromAttributes = require( './svg-generator' )
|
||||||
|
|
||||||
|
|
||||||
@ -10,28 +10,35 @@ const svgFromAttributes = require( './svg-generator' )
|
|||||||
// ///////////////////////////////
|
// ///////////////////////////////
|
||||||
async function isInvalidRocketeerId( id, network='mainnet' ) {
|
async function isInvalidRocketeerId( id, network='mainnet' ) {
|
||||||
|
|
||||||
|
// Force type onto id
|
||||||
|
id = Number( id )
|
||||||
|
|
||||||
// Chech if this is an illegal ID
|
// Chech if this is an illegal ID
|
||||||
try {
|
try {
|
||||||
|
|
||||||
// Get the last know total supply
|
// Get the last know total supply
|
||||||
const { cachedTotalSupply } = await db.collection( 'meta' ).doc( network ).get().then( doc => doc.data() ) || {}
|
let { cachedTotalSupply } = await db.collection( 'meta' ).doc( network ).get().then( doc => doc.data() ) || {}
|
||||||
|
|
||||||
|
// Cast total supply into number
|
||||||
|
cachedTotalSupply = Number( cachedTotalSupply )
|
||||||
|
|
||||||
// If the requested ID is larger than that, check if the new total supply is more
|
// If the requested ID is larger than that, check if the new total supply is more
|
||||||
if( !cachedTotalSupply || cachedTotalSupply < id ) {
|
if( !cachedTotalSupply || cachedTotalSupply < id ) {
|
||||||
|
|
||||||
// Get net total supply through infura, if infura fails, return the cached value just in case
|
// Get net total supply through infura, if infura fails, return the cached value just in case
|
||||||
const totalSupply = await getTotalSupply( network )
|
const totalSupply = Number( await getTotalSupply( network ) )
|
||||||
|
|
||||||
// Write new value to cache
|
// Write new value to cache
|
||||||
await db.collection( 'meta' ).doc( network ).set( { cachedTotalSupply: totalSupply }, { merge: true } )
|
await db.collection( 'meta' ).doc( network ).set( { cachedTotalSupply: totalSupply }, { merge: true } )
|
||||||
|
|
||||||
// If the requested ID is larger than total supply, exit
|
// If the requested ID is larger than total supply, exit
|
||||||
if( Number( totalSupply ) < Number( id ) ) throw new Error( `Invalid ID ${ id }, total supply is ${ totalSupply }` )
|
if( totalSupply < id ) return `Invalid ID ${ id }, total supply is ${ totalSupply }`
|
||||||
|
|
||||||
// If all good, return true
|
// If all good, return true
|
||||||
return false
|
return false
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch( e ) {
|
} catch( e ) {
|
||||||
return e
|
return e
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user