UNPKG

gittoken-analytics

Version:

Analytics Processor for GitToken Events

38 lines (36 loc) 1.13 kB
import Promise, { promisifyAll, join } from 'bluebird' export default function updateTokenInflationRate({ contribution }) { return new Promise((resolve, reject) => { const { value, reservedValue, date } = contribution this.query({ queryString: ` CREATE TABLE IF NOT EXISTS token_inflation ( date BIGINT NOT NULL DEFAULT 0 PRIMARY KEY, periodicRate REAL ); ` }).then(() => { return this.query({ queryString: ` INSERT INTO token_inflation ( date, periodicRate ) VALUES ( ${date}, (SELECT (sum(value+reservedValue))/(sum(value+reservedValue)-(1.0*${value + reservedValue}))-1.0 FROM contributions WHERE date <= ${date}) ); ` }) }).then(() => { return this.query({ queryString: ` SELECT * FROM token_inflation ORDER BY date DESC LIMIT 1; ` }) }).then((inflation) => { resolve(inflation[0]) }).catch((error) => { this.handleError({ error, method: 'updateTokenInflationRate' }) }) }) }