Files
kredits-web/app/services/community-funds.js
T

33 lines
1.0 KiB
JavaScript

import Service from '@ember/service';
import { tracked } from '@glimmer/tracking';
import { task } from 'ember-concurrency-decorators';
import config from 'kredits-web/config/environment';
const txServiceBaseUrl = `${config.gnosisSafe.txServiceHost}/api/v1/safes/${config.gnosisSafe.address}`;
export default class CommunityFundsService extends Service {
@tracked balanceETH = { balance: 0, balanceUsd: 0, usdConversion: 0 };
@tracked balanceWBTC = { balance: 0, balanceUsd: 0, usdConversion: 0 };
@task
*fetchBalances () {
const uri = `${txServiceBaseUrl}/balances/usd/`;
yield fetch(uri).then(res => res.json())
.then(res => {
this.processBalances(res);
})
.catch(err => {
console.log(`[community-funds] Fetching balances failed:`);
console.error(err);
});
}
processBalances (res) {
// TODO proper selection/find
const { balance, balanceUsd, usdConversion } = res[0];
this.balanceETH = { balance, balanceUsd, usdConversion };
this.balanceWBTC = res[1];
}
}