From 32c2a1977c93070aff675f87de10fecb91dbc630 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Mon, 12 Jul 2021 19:29:18 +0800 Subject: [PATCH 01/25] Add cdp to register api --- imports/api/cdp/cdp.js | 3 +++ imports/startup/server/register-api.js | 2 ++ 2 files changed, 5 insertions(+) create mode 100644 imports/api/cdp/cdp.js diff --git a/imports/api/cdp/cdp.js b/imports/api/cdp/cdp.js new file mode 100644 index 000000000..f00d6205a --- /dev/null +++ b/imports/api/cdp/cdp.js @@ -0,0 +1,3 @@ +import { Mongo } from 'meteor/mongo'; + +export const CDP = new Mongo.Collection('cdp'); diff --git a/imports/startup/server/register-api.js b/imports/startup/server/register-api.js index 3b3723c1d..0cba61015 100644 --- a/imports/startup/server/register-api.js +++ b/imports/startup/server/register-api.js @@ -33,5 +33,7 @@ import '../../api/coin-stats/server/methods.js'; import '../../api/bep3/server/methods.js'; +import '../../api/cdp/server/methods.js'; + import '../../api/hard/server/methods.js'; From 476d066cb85e6d6d8cdadff27dbdda5c7112c818 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Mon, 12 Jul 2021 19:30:07 +0800 Subject: [PATCH 02/25] Move meteor cdp methods --- imports/api/accounts/server/methods.js | 20 +------ imports/api/cdp/server/methods.js | 82 ++++++++++++++++++++++++++ imports/api/ledger/server/methods.js | 50 ---------------- package-lock.json | 3 +- 4 files changed, 85 insertions(+), 70 deletions(-) create mode 100644 imports/api/cdp/server/methods.js diff --git a/imports/api/accounts/server/methods.js b/imports/api/accounts/server/methods.js index a48d44789..095e5c800 100644 --- a/imports/api/accounts/server/methods.js +++ b/imports/api/accounts/server/methods.js @@ -278,23 +278,5 @@ Meteor.methods({ console.log(e) } return cdp - }, - - 'cdp.getCDPList': function (collateralType) { - this.unblock(); - let url = LCD + '/cdp/cdps/collateralType/' + collateralType; - try { - let result = HTTP.get(url); - if (result.statusCode == 200) { - let list = JSON.parse(result.content).result; - return list - - } - else{ - console.log("No CDP for collateral type " + collateralType) - } - } catch (e) { - console.log(e) - } - }, + } }) \ No newline at end of file diff --git a/imports/api/cdp/server/methods.js b/imports/api/cdp/server/methods.js new file mode 100644 index 000000000..376a9a4fd --- /dev/null +++ b/imports/api/cdp/server/methods.js @@ -0,0 +1,82 @@ +import { Meteor } from 'meteor/meteor'; +import { HTTP } from 'meteor/http'; +import { CDP } from '../cdp'; + + +Meteor.methods({ + 'cdp.getCDPList': function () { + this.unblock(); + let collateralTypes = ['ukava-a', 'bnb-a', 'hard-a', 'btcb-a', 'xrpb-b', 'busd-a', 'busd-b'] + for(let collateral in collateralTypes){ + let url = LCD + '/cdp/cdps/collateralType/' + collateralTypes[collateral]; + try { + let result = HTTP.get(url); + if (result.statusCode == 200) { + let list = JSON.parse(result.content).result[0]; + console.log(list) + for (let c = 0; c < list.length; c++) { + CDP.upsert({ cdpId: list[c].cdp.id }, list[c]); + } + return list + + } + else { + console.log("No CDP for collateral type " + collateralTypes[collateral]) + } + } catch (e) { + console.log(e) + } + } + + }, + 'cdp.getCDPParams': function () { + this.unblock(); + let url = LCD + '/cdp/parameters'; + let cdpParams = {}; + + try { + let response = HTTP.get(url); + if (response.statusCode == 200) { + cdpParams = JSON.parse(response.content).result; + return cdpParams + } + } + catch (e) { + console.log(e) + } + }, + + 'cdp.getCDPPrice': function (market) { + this.unblock(); + let url = LCD + '/pricefeed/price/' + market; + let cdpPrice = null; + + try { + let response = HTTP.get(url); + if (response.statusCode == 200) { + cdpPrice = JSON.parse(response.content).result.price; + return cdpPrice + } + } + catch (e) { + console.log(e) + } + }, + + 'cdp.getDeposits': function (address, collateral) { + this.unblock(); + let url = LCD + '/cdp/cdps/cdp/deposits/' + address + '/' + collateral; + + try { + let response = HTTP.get(url); + if (response.statusCode == 200) { + return JSON.parse(response.content).result + } + } + catch (e) { + console.log(url); + console.log(e) + } + }, + +}) \ No newline at end of file diff --git a/imports/api/ledger/server/methods.js b/imports/api/ledger/server/methods.js index 4bf785b5e..16a4b9c55 100644 --- a/imports/api/ledger/server/methods.js +++ b/imports/api/ledger/server/methods.js @@ -60,56 +60,6 @@ Meteor.methods({ let validator = Validators.findOne({ delegator_address: address }) return validator; }, - 'cdp.getCDPParams': function () { - this.unblock(); - let url = LCD + '/cdp/parameters'; - let cdpParams = {}; - - try { - let response = HTTP.get(url); - if (response.statusCode == 200) { - cdpParams = JSON.parse(response.content).result; - return cdpParams - } - } - catch (e) { - console.log(e) - } - }, - - 'cdp.getCDPPrice': function (market) { - this.unblock(); - let url = LCD + '/pricefeed/price/' + market; - let cdpPrice = null; - - try { - let response = HTTP.get(url); - if (response.statusCode == 200) { - cdpPrice = JSON.parse(response.content).result.price; - return cdpPrice - } - } - catch (e) { - console.log(e) - } - }, - - 'cdp.getDeposits': function (address, collateral) { - this.unblock(); - let url = LCD + '/cdp/cdps/cdp/deposits/' + address + '/' + collateral; - - try { - let response = HTTP.get(url); - if (response.statusCode == 200) { - return JSON.parse(response.content).result - } - } - catch (e) { - console.log(url); - console.log(e) - } - }, - 'account.getIncentive': function () { this.unblock(); let url = LCD + '/incentive/rewards' diff --git a/package-lock.json b/package-lock.json index 19d457e33..15e91a189 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4465,7 +4465,8 @@ }, "elliptic": { "version": "6.4.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "requires": { "bn.js": "^4.4.0", "brorand": "^1.0.1", From f26b30db170114242ad73530fcae796a81968d39 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Mon, 12 Jul 2021 19:30:30 +0800 Subject: [PATCH 03/25] Add getCDPList to main.js --- server/main.js | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/server/main.js b/server/main.js index eef772eaf..8aade8f8a 100644 --- a/server/main.js +++ b/server/main.js @@ -18,16 +18,17 @@ timerProposalsResults = 0; timerMissedBlock = 0; timerDelegation = 0; timerAggregate = 0; +timerCDPList = 0; const DEFAULTSETTINGS = '/default_settings.json'; updateChainStatus = () => { Meteor.call('chain.updateStatus', (error, result) => { if (error) { - console.log("updateStatus: " + error); + console.log("updateStatus error: " + error); } else { - console.log("updateStatus: " + result); + console.log("updateStatus ok: " + result); } }) } @@ -35,10 +36,10 @@ updateChainStatus = () => { updateBlock = () => { Meteor.call('blocks.blocksUpdate', (error, result) => { if (error) { - console.log("updateBlocks: " + error); + console.log("updateBlocks error: " + error); } else { - console.log("updateBlocks: " + result); + console.log("updateBlocks ok: " + result); } }) } @@ -46,10 +47,10 @@ updateBlock = () => { updateTransactions = () => { Meteor.call('Transactions.updateTransactions', (error, result) => { if (error) { - console.log("updateTransactions: " + error); + console.log("updateTransactions error: " + error); } else { - console.log("updateTransactions: " + result); + console.log("updateTransactions ok: " + result); } }) } @@ -57,7 +58,7 @@ updateTransactions = () => { getConsensusState = () => { Meteor.call('chain.getConsensusState', (error, result) => { if (error) { - console.log("get consensus: " + error) + console.log("get consensus error: " + error) } }) } @@ -65,10 +66,10 @@ getConsensusState = () => { getProposals = () => { Meteor.call('proposals.getProposals', (error, result) => { if (error) { - console.log("get proposal: " + error); + console.log("get proposal error: " + error); } if (result) { - console.log("get proposal: " + result); + console.log("get proposal result: " + result); } }); } @@ -76,10 +77,10 @@ getProposals = () => { getProposalsResults = () => { Meteor.call('proposals.getProposalResults', (error, result) => { if (error) { - console.log("get proposals result: " + error); + console.log("get proposals result error: " + error); } if (result) { - console.log("get proposals result: " + result); + console.log("get proposals result: ok " + result); } }); } @@ -106,6 +107,17 @@ getDelegations = () => { }); } +getCDPList = () => { + Meteor.call('cdp.getCDPList', (error, result) => { + if (error) { + console.log("get CDP List error: " + error) + } + else { + console.log("get CDP List ok: " + result) + } + }); +} + aggregateMinutely = () => { // doing something every min Meteor.call('Analytics.aggregateBlockTimeAndVotingPower', "m", (error, result) => { @@ -220,6 +232,10 @@ Meteor.startup(function () { getDelegations(); }, Meteor.settings.params.delegationInterval); + timerCDPList = Meteor.setInterval(function () { + getCDPList(); + }, Meteor.settings.params.CDPListInterval); + timerAggregate = Meteor.setInterval(function () { let now = new Date(); if ((now.getUTCSeconds() == 0)) { From ee7749f57aafac902f13daf78fe69d008ddf5da8 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Tue, 13 Jul 2021 13:08:58 +0800 Subject: [PATCH 04/25] Updated meteor cdp methods --- imports/api/cdp/server/methods.js | 21 ++++++++++++--------- imports/ui/accounts/Account.jsx | 8 ++++---- imports/ui/cdp/CDP.jsx | 2 +- imports/ui/cdp/CDPs.jsx | 4 ++-- imports/ui/cdp/List.jsx | 5 +++-- imports/ui/ledger/LedgerActions.jsx | 2 +- server/main.js | 6 +++--- 7 files changed, 26 insertions(+), 22 deletions(-) diff --git a/imports/api/cdp/server/methods.js b/imports/api/cdp/server/methods.js index 376a9a4fd..c25a2c15f 100644 --- a/imports/api/cdp/server/methods.js +++ b/imports/api/cdp/server/methods.js @@ -4,19 +4,22 @@ import { CDP } from '../cdp'; Meteor.methods({ - 'cdp.getCDPList': function () { + 'cdp.list': function () { this.unblock(); - let collateralTypes = ['ukava-a', 'bnb-a', 'hard-a', 'btcb-a', 'xrpb-b', 'busd-a', 'busd-b'] + let collateralTypes = ['ukava-a', 'bnb-a', 'hard-a', 'btcb-a', 'xrpb-a', 'busd-a', 'busd-b'] + let allCDPList = {}; for(let collateral in collateralTypes){ let url = LCD + '/cdp/cdps/collateralType/' + collateralTypes[collateral]; try { let result = HTTP.get(url); if (result.statusCode == 200) { - let list = JSON.parse(result.content).result[0]; + let list = JSON.parse(result.content).result; console.log(list) - for (let c = 0; c < list.length; c++) { - CDP.upsert({ cdpId: list[c].cdp.id }, list[c]); - } + allCDPList[collateralTypes[collateral]] = list + CDP.upsert( collateralTypes[collateral] , list[c]); + // for (let c = 0; c < list.length; c++) { + // CDP.upsert({ cdpId: list[c].cdp.id }, list[c]); + // } return list } @@ -29,7 +32,7 @@ Meteor.methods({ } }, - 'cdp.getCDPParams': function () { + 'cdp.parameters': function () { this.unblock(); let url = LCD + '/cdp/parameters'; let cdpParams = {}; @@ -46,7 +49,7 @@ Meteor.methods({ } }, - 'cdp.getCDPPrice': function (market) { + 'cdp.price': function (market) { this.unblock(); let url = LCD + '/pricefeed/price/' + market; let cdpPrice = null; @@ -63,7 +66,7 @@ Meteor.methods({ } }, - 'cdp.getDeposits': function (address, collateral) { + 'cdp.deposits': function (address, collateral) { this.unblock(); let url = LCD + '/cdp/cdps/cdp/deposits/' + address + '/' + collateral; diff --git a/imports/ui/accounts/Account.jsx b/imports/ui/accounts/Account.jsx index 50243d7bf..d72ccb808 100644 --- a/imports/ui/accounts/Account.jsx +++ b/imports/ui/accounts/Account.jsx @@ -364,7 +364,7 @@ export default class AccountDetails extends Component { } }); - Meteor.call('cdp.getCDPPrice', 'bnb:usd', (error, result) => { + Meteor.call('cdp.price', 'bnb:usd', (error, result) => { if (error) { console.warn(error); this.setState({ @@ -379,7 +379,7 @@ export default class AccountDetails extends Component { } }); - Meteor.call('cdp.getCDPPrice', 'bnb:usd:30', (error, result) => { + Meteor.call('cdp.price', 'bnb:usd:30', (error, result) => { if (error) { console.warn(error); this.setState({ @@ -396,7 +396,7 @@ export default class AccountDetails extends Component { }); - Meteor.call('cdp.getCDPPrice', 'hard:usd', (error, result) => { + Meteor.call('cdp.price', 'hard:usd', (error, result) => { if (error) { console.warn(error); this.setState({ @@ -649,7 +649,7 @@ export default class AccountDetails extends Component { } checkIfCDPIsActive() { - Meteor.call('cdp.getCDPParams', (error, result) => { + Meteor.call('cdp.parameters', (error, result) => { if (error) { console.warn(error); this.setState({ diff --git a/imports/ui/cdp/CDP.jsx b/imports/ui/cdp/CDP.jsx index 20a0b680b..a2c388693 100644 --- a/imports/ui/cdp/CDP.jsx +++ b/imports/ui/cdp/CDP.jsx @@ -84,7 +84,7 @@ export default class CDP extends Component { } updateDeposits() { - Meteor.call('cdp.getDeposits', this.props.owner, this.props.collateralType, (error, result) => { + Meteor.call('cdp.deposits', this.props.owner, this.props.collateralType, (error, result) => { if (!error) { this.setState({ deposits: result, diff --git a/imports/ui/cdp/CDPs.jsx b/imports/ui/cdp/CDPs.jsx index 9ff8d5f92..3e6b741a0 100644 --- a/imports/ui/cdp/CDPs.jsx +++ b/imports/ui/cdp/CDPs.jsx @@ -52,8 +52,8 @@ export default class CDPs extends Component{ render() { return
- List of CDPs on Cosmos Hub | The Big Dipper - + List of CDPs | The Big Dipper +

cdp.cdps

diff --git a/imports/ui/cdp/List.jsx b/imports/ui/cdp/List.jsx index 7fe0c5f0b..b3182c2ec 100644 --- a/imports/ui/cdp/List.jsx +++ b/imports/ui/cdp/List.jsx @@ -6,6 +6,7 @@ import i18n from 'meteor/universe:i18n'; import TimeStamp from '../components/TimeStamp.jsx'; import Coin from '/both/utils/coins.js' import Pagination from "react-js-pagination"; +import { CDP } from '../../api/cdp/cdp' const T = i18n.createComponent(); let minCollateralRatio = 0; @@ -55,7 +56,7 @@ export default class List extends Component { } getCDPList = () => { - Meteor.call('cdp.getCDPList', this.props.collateralType, (error, result) => { + Meteor.call('cdp.list', this.props.collateralType, (error, result) => { if(result){ this.setState({ cdpList: result?.length > 1 ? result.map((cdpList, i) => { @@ -87,7 +88,7 @@ export default class List extends Component { getMinCollateralRatio = () => { - Meteor.call('cdp.getCDPParams', (error, result) => { + Meteor.call('cdp.parameters', (error, result) => { if (error) { console.warn(error); this.setState({ diff --git a/imports/ui/ledger/LedgerActions.jsx b/imports/ui/ledger/LedgerActions.jsx index b32f4fe32..da8feba55 100644 --- a/imports/ui/ledger/LedgerActions.jsx +++ b/imports/ui/ledger/LedgerActions.jsx @@ -492,7 +492,7 @@ class LedgerButton extends Component { else { market = collateralDenom?.toLowerCase(); } - Meteor.call('cdp.getCDPPrice', `${market}:usd`, (error, result) => { + Meteor.call('cdp.price', `${market}:usd`, (error, result) => { if (error) { // console.warn(error); this.setState({ diff --git a/server/main.js b/server/main.js index 8aade8f8a..5db12cbf8 100644 --- a/server/main.js +++ b/server/main.js @@ -18,7 +18,7 @@ timerProposalsResults = 0; timerMissedBlock = 0; timerDelegation = 0; timerAggregate = 0; -timerCDPList = 0; +timerCDP = 0; const DEFAULTSETTINGS = '/default_settings.json'; @@ -108,7 +108,7 @@ getDelegations = () => { } getCDPList = () => { - Meteor.call('cdp.getCDPList', (error, result) => { + Meteor.call('cdp.list', (error, result) => { if (error) { console.log("get CDP List error: " + error) } @@ -232,7 +232,7 @@ Meteor.startup(function () { getDelegations(); }, Meteor.settings.params.delegationInterval); - timerCDPList = Meteor.setInterval(function () { + timerCDP = Meteor.setInterval(function () { getCDPList(); }, Meteor.settings.params.CDPListInterval); From 64f55cf0fceb1169b29813d85dca116ff97b68d3 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Tue, 13 Jul 2021 17:01:53 +0800 Subject: [PATCH 05/25] Stored cdp values in db --- imports/api/cdp/server/methods.js | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/imports/api/cdp/server/methods.js b/imports/api/cdp/server/methods.js index c25a2c15f..577c630f8 100644 --- a/imports/api/cdp/server/methods.js +++ b/imports/api/cdp/server/methods.js @@ -7,20 +7,14 @@ Meteor.methods({ 'cdp.list': function () { this.unblock(); let collateralTypes = ['ukava-a', 'bnb-a', 'hard-a', 'btcb-a', 'xrpb-a', 'busd-a', 'busd-b'] - let allCDPList = {}; + let CDPList = {}; for(let collateral in collateralTypes){ let url = LCD + '/cdp/cdps/collateralType/' + collateralTypes[collateral]; try { let result = HTTP.get(url); if (result.statusCode == 200) { let list = JSON.parse(result.content).result; - console.log(list) - allCDPList[collateralTypes[collateral]] = list - CDP.upsert( collateralTypes[collateral] , list[c]); - // for (let c = 0; c < list.length; c++) { - // CDP.upsert({ cdpId: list[c].cdp.id }, list[c]); - // } - return list + CDPList[collateralTypes[collateral]] = list; } else { @@ -30,7 +24,9 @@ Meteor.methods({ console.log(e) } } - + + CDP.upsert({}, { $set: { CDPList }}); + return CDPList; }, 'cdp.parameters': function () { this.unblock(); From ea7863d10f6da65352b49d69a5a5a34f1798e05d Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Tue, 13 Jul 2021 17:03:20 +0800 Subject: [PATCH 06/25] Display CDPList details from db --- imports/api/cdp/server/methods.js | 6 ++++++ imports/ui/cdp/List.jsx | 14 +++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/imports/api/cdp/server/methods.js b/imports/api/cdp/server/methods.js index 577c630f8..bf5b2606a 100644 --- a/imports/api/cdp/server/methods.js +++ b/imports/api/cdp/server/methods.js @@ -78,4 +78,10 @@ Meteor.methods({ } }, + 'cdp.fetchList': function () { + this.unblock(); + let CDPList = CDP.find().fetch(); + return CDPList[0] + }, + }) \ No newline at end of file diff --git a/imports/ui/cdp/List.jsx b/imports/ui/cdp/List.jsx index b3182c2ec..ad804e30f 100644 --- a/imports/ui/cdp/List.jsx +++ b/imports/ui/cdp/List.jsx @@ -6,7 +6,7 @@ import i18n from 'meteor/universe:i18n'; import TimeStamp from '../components/TimeStamp.jsx'; import Coin from '/both/utils/coins.js' import Pagination from "react-js-pagination"; -import { CDP } from '../../api/cdp/cdp' + const T = i18n.createComponent(); let minCollateralRatio = 0; @@ -56,19 +56,19 @@ export default class List extends Component { } getCDPList = () => { - Meteor.call('cdp.list', this.props.collateralType, (error, result) => { - if(result){ + Meteor.call('cdp.fetchList', (error, result) => { + if (result) { this.setState({ - cdpList: result?.length > 1 ? result.map((cdpList, i) => { + cdpList: result?.CDPList[this.props.collateralType]?.length > 1 ? result.CDPList[this.props.collateralType].map((cdpList, i) => { return - }) : , + }) : , pagesCount: Math.ceil(result.length / this.state.pageSize), currentPage: 1, loading: false, noActiveCDP: false }) } - if(result === null){ + if (result === null) { this.setState({ cdpList: null, pagesCount: 0, @@ -76,7 +76,7 @@ export default class List extends Component { noActiveCDP: true }) } - if(error) { + if (error) { this.setState({ cdpList: undefined, pagesCount: 0, From 8d91effe660f2fb3d8ecbc3afb5e6e6bcd88a2f8 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Tue, 13 Jul 2021 17:06:29 +0800 Subject: [PATCH 07/25] Store hard borrows and deposits details in db --- imports/api/hard/hard.js | 3 +++ imports/api/hard/server/methods.js | 10 ++++++---- imports/ui/hard/HARDList.jsx | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 imports/api/hard/hard.js diff --git a/imports/api/hard/hard.js b/imports/api/hard/hard.js new file mode 100644 index 000000000..05fba33f6 --- /dev/null +++ b/imports/api/hard/hard.js @@ -0,0 +1,3 @@ +import { Mongo } from 'meteor/mongo'; + +export const Hard = new Mongo.Collection('hard'); diff --git a/imports/api/hard/server/methods.js b/imports/api/hard/server/methods.js index 3e2b3df39..289fcc11e 100644 --- a/imports/api/hard/server/methods.js +++ b/imports/api/hard/server/methods.js @@ -1,6 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { HTTP } from 'meteor/http'; - +import { Hard } from '../hard' Meteor.methods({ 'hard.parameters': function () { @@ -24,6 +24,7 @@ Meteor.methods({ let result = HTTP.get(url); if (result.statusCode == 200) { let deposits = JSON.parse(result.content).result; + Hard.upsert({}, { $set: { deposits: deposits } }); return deposits } } catch (e) { @@ -36,11 +37,12 @@ Meteor.methods({ try { let result = HTTP.get(url); if (result.statusCode == 200) { - let deposits = JSON.parse(result.content).result; - return deposits + let borrows = JSON.parse(result.content).result; + Hard.upsert({}, { $set: { borrows: borrows } }); + return borrows } } catch (e) { console.log(e) } - }, + } }) \ No newline at end of file diff --git a/imports/ui/hard/HARDList.jsx b/imports/ui/hard/HARDList.jsx index cfe31b499..2668b49d9 100644 --- a/imports/ui/hard/HARDList.jsx +++ b/imports/ui/hard/HARDList.jsx @@ -51,7 +51,7 @@ export default class HARDList extends Component { return
List of HARD Deposits and Borrows on Cosmos Hub | The Big Dipper - +

hard.hard

From f9d5bda73d5715d09d193677ecfabefeed39fb1d Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Tue, 13 Jul 2021 17:14:56 +0800 Subject: [PATCH 08/25] Updated cdp collection name --- imports/api/cdp/cdp.js | 2 +- imports/api/cdp/server/methods.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/imports/api/cdp/cdp.js b/imports/api/cdp/cdp.js index f00d6205a..1a2157401 100644 --- a/imports/api/cdp/cdp.js +++ b/imports/api/cdp/cdp.js @@ -1,3 +1,3 @@ import { Mongo } from 'meteor/mongo'; -export const CDP = new Mongo.Collection('cdp'); +export const CDPCollection = new Mongo.Collection('cdp'); diff --git a/imports/api/cdp/server/methods.js b/imports/api/cdp/server/methods.js index bf5b2606a..1c2c65d0c 100644 --- a/imports/api/cdp/server/methods.js +++ b/imports/api/cdp/server/methods.js @@ -1,6 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { HTTP } from 'meteor/http'; -import { CDP } from '../cdp'; +import { CDPCollection } from '../cdp'; Meteor.methods({ @@ -25,7 +25,7 @@ Meteor.methods({ } } - CDP.upsert({}, { $set: { CDPList }}); + CDPCollection.upsert({}, { $set: { CDPList }}); return CDPList; }, 'cdp.parameters': function () { @@ -80,7 +80,7 @@ Meteor.methods({ 'cdp.fetchList': function () { this.unblock(); - let CDPList = CDP.find().fetch(); + let CDPList = CDPCollection.find().fetch(); return CDPList[0] }, From ffa4e60cffea08f738ca2f2eff9cdb3649c28089 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Tue, 13 Jul 2021 17:23:55 +0800 Subject: [PATCH 09/25] Store hard borrows and deposits details --- imports/api/hard/hard.js | 2 +- imports/api/hard/server/methods.js | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/imports/api/hard/hard.js b/imports/api/hard/hard.js index 05fba33f6..a7262c8ab 100644 --- a/imports/api/hard/hard.js +++ b/imports/api/hard/hard.js @@ -1,3 +1,3 @@ import { Mongo } from 'meteor/mongo'; -export const Hard = new Mongo.Collection('hard'); +export const HARDCollection = new Mongo.Collection('hard'); diff --git a/imports/api/hard/server/methods.js b/imports/api/hard/server/methods.js index 289fcc11e..c038d12b3 100644 --- a/imports/api/hard/server/methods.js +++ b/imports/api/hard/server/methods.js @@ -1,6 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { HTTP } from 'meteor/http'; -import { Hard } from '../hard' +import { HARDCollection } from '../hard' Meteor.methods({ 'hard.parameters': function () { @@ -24,7 +24,7 @@ Meteor.methods({ let result = HTTP.get(url); if (result.statusCode == 200) { let deposits = JSON.parse(result.content).result; - Hard.upsert({}, { $set: { deposits: deposits } }); + HARDCollection.upsert({}, { $set: { deposits: deposits } }); return deposits } } catch (e) { @@ -38,11 +38,16 @@ Meteor.methods({ let result = HTTP.get(url); if (result.statusCode == 200) { let borrows = JSON.parse(result.content).result; - Hard.upsert({}, { $set: { borrows: borrows } }); + HARDCollection.upsert({}, { $set: { borrows: borrows } }); return borrows } } catch (e) { console.log(e) } + }, + 'hard.fetchList': function () { + this.unblock(); + let HARDList = HARDCollection.find().fetch(); + return HARDList[0] } }) \ No newline at end of file From 9cd079ad3a13795ff8a358b51fed94d1a8de5062 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Tue, 13 Jul 2021 17:25:40 +0800 Subject: [PATCH 10/25] Add query hard details in main.js --- server/main.js | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/server/main.js b/server/main.js index 5db12cbf8..386eb16ba 100644 --- a/server/main.js +++ b/server/main.js @@ -19,6 +19,8 @@ timerMissedBlock = 0; timerDelegation = 0; timerAggregate = 0; timerCDP = 0; +timerHARD = 0; + const DEFAULTSETTINGS = '/default_settings.json'; @@ -118,6 +120,28 @@ getCDPList = () => { }); } +getHARDDeposits = () => { + Meteor.call('hard.deposits', (error, result) => { + if (error) { + console.log("get HARD Deposits error: " + error) + } + else { + console.log("get HARD Deposits ok: " + result) + } + }); +} + +getHARDBorrows = () => { + Meteor.call('hard.borrows', (error, result) => { + if (error) { + console.log("get HARD Borrows error: " + error) + } + else { + console.log("get HARD Borrows ok: " + result) + } + }); +} + aggregateMinutely = () => { // doing something every min Meteor.call('Analytics.aggregateBlockTimeAndVotingPower', "m", (error, result) => { @@ -234,7 +258,12 @@ Meteor.startup(function () { timerCDP = Meteor.setInterval(function () { getCDPList(); - }, Meteor.settings.params.CDPListInterval); + }, Meteor.settings.params.CDPInterval); + + timerHARD = Meteor.setInterval(function () { + getHARDDeposits(); + getHARDBorrows(); + }, Meteor.settings.params.HARDInterval); timerAggregate = Meteor.setInterval(function () { let now = new Date(); @@ -254,4 +283,5 @@ Meteor.startup(function () { } }) + // here put accoutnquery }); \ No newline at end of file From 91f34c61a202ba635c87dcba2d288a41aa041f42 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Tue, 13 Jul 2021 17:26:11 +0800 Subject: [PATCH 11/25] Update HARD list --- imports/ui/hard/List.jsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/imports/ui/hard/List.jsx b/imports/ui/hard/List.jsx index c39cee0d2..792ca1fca 100644 --- a/imports/ui/hard/List.jsx +++ b/imports/ui/hard/List.jsx @@ -106,12 +106,12 @@ export default class List extends Component { } getHARDDeposits = () => { - Meteor.call('hard.deposits', (error, result) => { + Meteor.call('hard.fetchList', (error, result) => { if (result) { this.setState({ - HARDDeposits: result?.length > 1 ? result.map((HARDDeposits, i) => { + HARDDeposits: result?.deposits?.length > 1 ? result?.deposits?.map((HARDDeposits, i) => { return - }) : , + }) : , pagesCount: Math.ceil(result.length / this.state.pageSize), HARDBorrows: null, currentPage: 1, @@ -139,12 +139,12 @@ export default class List extends Component { } getHARDBorrows = () => { - Meteor.call('hard.borrows', (error, result) => { + Meteor.call('hard.fetchList', (error, result) => { if (result) { this.setState({ - HARDBorrows: result?.length > 1 ? result.map((HARDBorrows, i) => { + HARDBorrows: result?.borrows?.length > 1 ? result?.borrows?.map((HARDBorrows, i) => { return - }) : , + }) : , HARDDeposits: null, pagesCount: Math.ceil(result.length / this.state.pageSize), currentPage: 1, From 1b7d4945525e33745a65cc9b178de793d52f95b8 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Tue, 13 Jul 2021 18:05:00 +0800 Subject: [PATCH 12/25] Added hard.findDepositor and updated hard method in Account --- imports/api/hard/server/methods.js | 12 ++++++++++++ imports/ui/accounts/Account.jsx | 30 ++---------------------------- 2 files changed, 14 insertions(+), 28 deletions(-) diff --git a/imports/api/hard/server/methods.js b/imports/api/hard/server/methods.js index c038d12b3..5028b1341 100644 --- a/imports/api/hard/server/methods.js +++ b/imports/api/hard/server/methods.js @@ -49,5 +49,17 @@ Meteor.methods({ this.unblock(); let HARDList = HARDCollection.find().fetch(); return HARDList[0] + }, + 'hard.findDepositor': function (address) { + this.unblock(); + let HARDList = HARDCollection.find().fetch(); + let depositsList = HARDList[0].deposits; + let depositsDetails; + for (let d in borrowsList) { + if (depositsList[d].depositor === address) { + depositsDetails = depositsList[d] + } + } + return depositsDetails } }) \ No newline at end of file diff --git a/imports/ui/accounts/Account.jsx b/imports/ui/accounts/Account.jsx index d72ccb808..c12637b36 100644 --- a/imports/ui/accounts/Account.jsx +++ b/imports/ui/accounts/Account.jsx @@ -691,7 +691,7 @@ export default class AccountDetails extends Component { }; updateDeposits() { - Meteor.call('hard.deposits', (error, result) => { + Meteor.call('hard.findDepositor', (error, result) => { if (error) { console.warn(error); this.setState({ @@ -701,14 +701,8 @@ export default class AccountDetails extends Component { } if (result) { - for (let c in result) { - if (result[c].depositor === this.state.address) { - this.setState({ - HARDDeposits: result[c] - }) - } - } this.setState({ + HARDDeposits: result, loading: false, hasHARDDeposit: true }) @@ -741,26 +735,6 @@ export default class AccountDetails extends Component { } }) } - // createCDP = (callback) =>{ - // Meteor.call('create.cdp', {from: this.state.user}, this.getPath(), (err, res) =>{ - // if (res){ - // if (this.props.address) { - // res.value.msg.push({ - // type: 'cosmos-sdk/MsgWithdrawValidatorCommission', - // value: { validator_address: this.props.address } - // }) - // } - // callback(res, res) - // } - // else { - // this.setState({ - // loading: false, - // simulating: false, - // errorMessage: 'something went wrong' - // }) - // } - // }) - // } render() { if (this.state.loading) { From b087d26895d59079d858906cfe79c2a2810a0b5d Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Tue, 13 Jul 2021 18:06:19 +0800 Subject: [PATCH 13/25] Added hard.findBorrower and updated hard method in Account.jsx --- imports/api/hard/server/methods.js | 12 ++++++++++++ imports/ui/accounts/Account.jsx | 10 ++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/imports/api/hard/server/methods.js b/imports/api/hard/server/methods.js index 5028b1341..16a562654 100644 --- a/imports/api/hard/server/methods.js +++ b/imports/api/hard/server/methods.js @@ -61,5 +61,17 @@ Meteor.methods({ } } return depositsDetails + }, + 'hard.findBorrower': function (address) { + this.unblock(); + let HARDList = HARDCollection.find().fetch(); + let borrowsList = HARDList[0].borrows; + let borrowsDetails; + for (let d in borrowsList) { + if (borrowsList[d].borrower === address) { + borrowsDetails = borrowsList[d] + } + } + return borrowsDetails } }) \ No newline at end of file diff --git a/imports/ui/accounts/Account.jsx b/imports/ui/accounts/Account.jsx index c12637b36..ea0b184d7 100644 --- a/imports/ui/accounts/Account.jsx +++ b/imports/ui/accounts/Account.jsx @@ -711,7 +711,7 @@ export default class AccountDetails extends Component { } updateBorrows() { - Meteor.call('hard.borrows', (error, result) => { + Meteor.call('hard.findBorrower', this.state.address, (error, result) => { if (error) { console.warn(error); this.setState({ @@ -721,14 +721,8 @@ export default class AccountDetails extends Component { } if (result) { - for (let c in result) { - if (result[c].borrower === this.state.address) { - this.setState({ - HARDBorrows: result[c] - }) - } - } this.setState({ + HARDBorrows: result, loading: false, hasHARDBorrows: true }) From de852f2b7f52af13b6c69e938eeaf30355bc8716 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Wed, 14 Jul 2021 15:20:20 +0800 Subject: [PATCH 14/25] Update CDP --- imports/api/cdp/server/methods.js | 35 +++++++++++++++++++++--- imports/ui/cdp/CDP.jsx | 45 +++++++++++-------------------- imports/ui/cdp/List.jsx | 2 +- 3 files changed, 48 insertions(+), 34 deletions(-) diff --git a/imports/api/cdp/server/methods.js b/imports/api/cdp/server/methods.js index 1c2c65d0c..96a78b4fd 100644 --- a/imports/api/cdp/server/methods.js +++ b/imports/api/cdp/server/methods.js @@ -25,7 +25,14 @@ Meteor.methods({ } } - CDPCollection.upsert({}, { $set: { CDPList }}); + try{ + if(CDPList.length > 0){ + CDPCollection.upsert({}, { $set: { CDPList } }); + } + } + catch(e){ + console.log("Error updating CDP list " + e) + } return CDPList; }, 'cdp.parameters': function () { @@ -80,8 +87,30 @@ Meteor.methods({ 'cdp.fetchList': function () { this.unblock(); - let CDPList = CDPCollection.find().fetch(); - return CDPList[0] + try{ + let CDPList = CDPCollection.find().fetch(); + return CDPList[0] + } + catch(e){ + console.log(e) + } }, + //get Account CDP + 'cdp.account': function (address, collateralType) { + this.unblock(); + + try{ + let CDPList = CDPCollection.find().fetch(); + let findCDP = CDPList[0].CDPList[collateralType] + for(let d in findCDP){ + if (findCDP[d].cdp.owner === address){ + return findCDP[d] + } + } + } + catch(e){ + console.log(e) + } + } }) \ No newline at end of file diff --git a/imports/ui/cdp/CDP.jsx b/imports/ui/cdp/CDP.jsx index a2c388693..f747eda1a 100644 --- a/imports/ui/cdp/CDP.jsx +++ b/imports/ui/cdp/CDP.jsx @@ -60,7 +60,7 @@ export default class CDP extends Component { } updateCDP() { - Meteor.call('accounts.getAccountCDP', this.props.owner, this.props.collateralType, (error, result) => { + Meteor.call('cdp.account', this.props.owner, this.props.collateralType, (error, result) => { if (error) { console.warn(error); this.setState({ @@ -68,18 +68,13 @@ export default class CDP extends Component { userCDP: null }) } - if (result) { + else if (result) { this.setState({ loading: false, userCDP: result }) } - if (result === null) { - this.setState({ - loading: false, - userCDP: undefined - }) - } + }) } @@ -108,17 +103,8 @@ export default class CDP extends Component { this.updateDeposits(); this.getUserBalances(); - // timer = Meteor.setInterval(() => { - // this.updateCDP(); - // this.updateDeposits(); - // this.getUserBalances(); - // }, 9000) - } - // componentWillUnmount() { - // Meteor.clearInterval(timer); - // } componentDidUpdate(prevProps) { if (!_.isEqual(prevProps.collateralType, this.props.collateralType)){ @@ -137,14 +123,13 @@ export default class CDP extends Component { return totalValue } - getCDPParams(denomType, valueToGet) { - let value = (this.props.collateralParams).find(({ denom }) => denom === denomType); - let totalValue = value ? value[valueToGet] : null; - if(totalValue >= 0){ - return parseFloat(totalValue) - } - else{ - return totalValue + getCollateralizationRatio(denomType) { + for (let c in this.props?.collateralParams){ + if (this.props.collateralParams[c]?.type === denomType){ + if (this.props.collateralParams[c]?.liquidation_ratio) { + return parseFloat(this.props.collateralParams[c]?.liquidation_ratio) + } + } } } @@ -209,7 +194,7 @@ export default class CDP extends Component { collateralDenom={this.props.collateralDenom ? this.props.collateralDenom : null} principalDenom={this.state.userCDP ? this.state.userCDP.cdp.principal.denom : null} principalDeposited={this.state.userCDP ? this.state.userCDP.cdp.principal.amount : null} - collateralizationRatio={this.getCDPParams(this.props.collateralDenom, 'liquidation_ratio') ?? null} + collateralizationRatio={this.getCollateralizationRatio(this.props.collateralDenom) ?? null} /> {((this.props.owner == this.props.user) || (this.state.isDepositor)) ? : null} {(this.props.owner == this.props.user) ? : null} {(this.props.owner == this.props.user) ? : null}
@@ -269,7 +254,7 @@ export default class CDP extends Component { CDPParameters={this.props.collateralParams ?? null} debtParams={this.props.debtParams ?? null} collateralDenom={this.props.collateralDenom ? this.props.collateralDenom : null} - collateralizationRatio={this.getCDPParams(this.props.collateralDenom, 'liquidation_ratio') ?? null} + collateralizationRatio={this.getCollateralizationRatio(this.props.collateralDenom) ?? null} />
diff --git a/imports/ui/cdp/List.jsx b/imports/ui/cdp/List.jsx index ad804e30f..9e198b68a 100644 --- a/imports/ui/cdp/List.jsx +++ b/imports/ui/cdp/List.jsx @@ -61,7 +61,7 @@ export default class List extends Component { this.setState({ cdpList: result?.CDPList[this.props.collateralType]?.length > 1 ? result.CDPList[this.props.collateralType].map((cdpList, i) => { return - }) : , + }) : result?.CDPList[this.props.collateralType]?.length === 0 ? : null, pagesCount: Math.ceil(result.length / this.state.pageSize), currentPage: 1, loading: false, From 256b4fe7258224b5299790a8b2109c4bb37078bd Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Wed, 14 Jul 2021 15:22:28 +0800 Subject: [PATCH 15/25] Update HARD --- imports/api/hard/server/methods.js | 46 +++++++++------ imports/ui/accounts/Account.jsx | 89 +++++++++++++++--------------- imports/ui/hard/HARD.jsx | 71 ++++++------------------ 3 files changed, 90 insertions(+), 116 deletions(-) diff --git a/imports/api/hard/server/methods.js b/imports/api/hard/server/methods.js index 16a562654..b82f889a9 100644 --- a/imports/api/hard/server/methods.js +++ b/imports/api/hard/server/methods.js @@ -47,31 +47,45 @@ Meteor.methods({ }, 'hard.fetchList': function () { this.unblock(); - let HARDList = HARDCollection.find().fetch(); - return HARDList[0] + try{ + let HARDList = HARDCollection.find().fetch(); + return HARDList[0] + } + catch(e){ + console.log(e) + } + }, 'hard.findDepositor': function (address) { this.unblock(); - let HARDList = HARDCollection.find().fetch(); - let depositsList = HARDList[0].deposits; - let depositsDetails; - for (let d in borrowsList) { - if (depositsList[d].depositor === address) { - depositsDetails = depositsList[d] + try{ + let HARDList = HARDCollection.find().fetch(); + let depositsList = HARDList[0].deposits; + for (let d in depositsList) { + if (depositsList[d].depositor === address) { + return depositsList[d] + } } } - return depositsDetails + catch(e){ + console.log(e) + } + }, 'hard.findBorrower': function (address) { this.unblock(); - let HARDList = HARDCollection.find().fetch(); - let borrowsList = HARDList[0].borrows; - let borrowsDetails; - for (let d in borrowsList) { - if (borrowsList[d].borrower === address) { - borrowsDetails = borrowsList[d] + try{ + let HARDList = HARDCollection.find().fetch(); + let borrowsList = HARDList[0].borrows; + for (let d in borrowsList) { + if (borrowsList[d].borrower === address) { + return borrowsList[d] + } } } - return borrowsDetails + catch(e){ + console.log(e) + } + } }) \ No newline at end of file diff --git a/imports/ui/accounts/Account.jsx b/imports/ui/accounts/Account.jsx index ea0b184d7..d40bdc327 100644 --- a/imports/ui/accounts/Account.jsx +++ b/imports/ui/accounts/Account.jsx @@ -664,20 +664,20 @@ export default class AccountDetails extends Component { let collateralParams = []; for (let c in result.collateral_params) { - Meteor.call('accounts.getAccountCDP', this.state.address, result.collateral_params[c].type, (err, res) => { + let counter = 0; + Meteor.call('cdp.account', this.state.address, result.collateral_params[c].type, (err, res) => { if (err) { this.setState({ loading: true, hasActiveCDP: false }) } - - if (res) { + else if (res) { this.setState({ hasActiveCDP: true, }); - collateralParams[c] = result.collateral_params[c]; - + collateralParams[counter] = result.collateral_params[c]; + counter++; } }) } @@ -691,7 +691,7 @@ export default class AccountDetails extends Component { }; updateDeposits() { - Meteor.call('hard.findDepositor', (error, result) => { + Meteor.call('hard.findDepositor', this.state.address, (error, result) => { if (error) { console.warn(error); this.setState({ @@ -699,8 +699,7 @@ export default class AccountDetails extends Component { HARDDeposits: undefined }) } - - if (result) { + else if (result) { this.setState({ HARDDeposits: result, loading: false, @@ -719,8 +718,7 @@ export default class AccountDetails extends Component { HARDBorrows: undefined }) } - - if (result) { + else if (result) { this.setState({ HARDBorrows: result, loading: false, @@ -989,7 +987,7 @@ export default class AccountDetails extends Component { CDPs : null} - {this.state.hasActiveCDP ? + {this.state.hasHARDBorrows || this.state.hasHARDDeposit ? {this.state.hasHARDDeposit && this.state.HARDDeposits ? - this.state.HARDDeposits?.amount.map((denom, index) => { - return ( - ) - }) : null} + this.state.HARDDeposits?.amount.map((denom, index) => { + return ( + ) + }) : null} {this.state.hasHARDDeposit && this.state.HARDDeposits ? - this.state.HARDDeposits?.amount.map((denom, index) => { - return ( - - - - - ) - }) : } + this.state.HARDDeposits?.amount.map((denom, index) => { + return ( + + + + + ) + }) : } : null } {this.state.activeHARDTab === 'hard-borrows' ? - // HARD Borrows List <> diff --git a/imports/ui/hard/HARD.jsx b/imports/ui/hard/HARD.jsx index 132fc2d36..ebc124001 100644 --- a/imports/ui/hard/HARD.jsx +++ b/imports/ui/hard/HARD.jsx @@ -61,37 +61,19 @@ export default class HARD extends Component { } updateDeposits() { - Meteor.call('hard.deposits', (error, result) => { + Meteor.call('hard.findDepositor', this.props.address, (error, result) => { if (error) { console.warn(error); this.setState({ loading: true, - deposits: undefined + HARDDeposits: undefined }) } - - if (result) { - for(let c in result){ - if(result[c].depositor === this.props.address){ - for(let d in result[c].amount){ - if (result[c].amount[d].denom === this.props.collateralDenom) { - this.setState({ - HARDDeposits: result[c].amount[d] - }) - } - } - for(let e in result[c].index){ - if (result[c].index[e].denom === this.props.collateralDenom){ - this.setState({ - HARDDepositIndex: result[c].index[e] - }) - } - } - } - } + else if (result) { this.setState({ + HARDDeposits: result.amount[0], + HARDDepositIndex: result.index[0], loading: false, - deposits: result, isDepositor: true }) } @@ -99,40 +81,22 @@ export default class HARD extends Component { } updateBorrows() { - Meteor.call('hard.borrows', (error, result) => { + Meteor.call('hard.findBorrower', this.props.address, (error, result) => { if (error) { console.warn(error); this.setState({ loading: true, - HARDBorrows: null + HARDBorrows: undefined, + isDepositor: false }) } - - if (result) { - if (result) { - for (let c in result) { - if (result[c].borrower === this.props.address) { - for (let d in result[c].amount) { - if (result[c].amount[d].denom === this.props.collateralDenom) { - this.setState({ - HARDBorrows: result[c].amount[d] - }) - } - } - for (let e in result[c].index) { - if (result[c].index[e].denom === this.props.collateralDenom) { - this.setState({ - HARDBorrowIndex: result[c].index[e] - }) - } - } - } - } - this.setState({ - loading: false, - isDepositor: true - }) - } + else if (result) { + this.setState({ + HARDBorrows: result.amount[0], + HARDBorrowIndex: result.index[0], + loading: false, + isDepositor: true + }) } }) } @@ -237,19 +201,18 @@ export default class HARD extends Component { } } if (this.props.activeTab === 'hard-borrows') { - if (this.state.HARDBorrows) { return
- + From e75edef6742a174e12f5805b251f1ceb98a6380a Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Wed, 14 Jul 2021 17:14:13 +0800 Subject: [PATCH 16/25] Add CHANGELOG --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17ea38ea8..1f5fa93ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ # Changelog -# [Unreleased] +## [UNRELEASED] * [#536] Added missing `/` in staking parameters URL +* [#535] Stored CDP and HARD details in db # kava-7-v1.1 * Update npm packages From 8f667f03cd1f4d29c53996ced18124dfb4cb2f74 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Wed, 14 Jul 2021 17:26:38 +0800 Subject: [PATCH 17/25] Update CDP upsert --- imports/api/cdp/server/methods.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/imports/api/cdp/server/methods.js b/imports/api/cdp/server/methods.js index 96a78b4fd..35205f7b1 100644 --- a/imports/api/cdp/server/methods.js +++ b/imports/api/cdp/server/methods.js @@ -25,14 +25,15 @@ Meteor.methods({ } } - try{ - if(CDPList.length > 0){ + if (CDPList){ + try{ CDPCollection.upsert({}, { $set: { CDPList } }); } + catch(e){ + console.log("Error updating CDP list " + e) + } } - catch(e){ - console.log("Error updating CDP list " + e) - } + return CDPList; }, 'cdp.parameters': function () { From e8739b42a4892503cf94c5caf9f2dfbaaf013f11 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Wed, 14 Jul 2021 18:26:49 +0800 Subject: [PATCH 18/25] Update List.jsx --- imports/ui/cdp/List.jsx | 8 -------- imports/ui/hard/List.jsx | 24 ++++++------------------ 2 files changed, 6 insertions(+), 26 deletions(-) diff --git a/imports/ui/cdp/List.jsx b/imports/ui/cdp/List.jsx index 9e198b68a..1b3f946f9 100644 --- a/imports/ui/cdp/List.jsx +++ b/imports/ui/cdp/List.jsx @@ -68,14 +68,6 @@ export default class List extends Component { noActiveCDP: false }) } - if (result === null) { - this.setState({ - cdpList: null, - pagesCount: 0, - loading: false, - noActiveCDP: true - }) - } if (error) { this.setState({ cdpList: undefined, diff --git a/imports/ui/hard/List.jsx b/imports/ui/hard/List.jsx index 792ca1fca..4a1c2fdea 100644 --- a/imports/ui/hard/List.jsx +++ b/imports/ui/hard/List.jsx @@ -86,8 +86,12 @@ export default class List extends Component { } componentDidMount() { - this.getHARDBorrows(); - this.getHARDDeposits(); + if (this.props.activeTab === 'hard-deposits') { + this.getHARDDeposits(); + } + else if (this.props.activeTab === 'hard-borrows') { + this.getHARDBorrows(); + } } componentDidUpdate(prevProps) { @@ -119,14 +123,6 @@ export default class List extends Component { noActiveDeposits: false }) } - if (result === null) { - this.setState({ - HARDDeposits: null, - pagesCount: 0, - loading: false, - noActiveDeposits: true - }) - } if (error) { this.setState({ HARDDeposits: undefined, @@ -152,14 +148,6 @@ export default class List extends Component { noActiveBorrows: false }) } - if (result === null) { - this.setState({ - HARDBorrows: null, - pagesCount: 0, - loading: false, - noActiveBorrows: true - }) - } if (error) { this.setState({ HARDBorrows: undefined, From 0053ba831361fec77559a53fdf51c915d478b0a1 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Wed, 14 Jul 2021 18:58:40 +0800 Subject: [PATCH 19/25] Add store hard parameters in db --- imports/api/hard/server/methods.js | 13 ++++++++++++- imports/ui/hard/HARD.jsx | 2 +- server/main.js | 25 +++++++++++++++++++------ 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/imports/api/hard/server/methods.js b/imports/api/hard/server/methods.js index b82f889a9..cc26867a7 100644 --- a/imports/api/hard/server/methods.js +++ b/imports/api/hard/server/methods.js @@ -10,6 +10,7 @@ Meteor.methods({ let result = HTTP.get(url); if (result.statusCode == 200) { let parameters = JSON.parse(result.content).result; + HARDCollection.upsert({}, { $set: { parameters: parameters } }); return parameters } } catch (e) { @@ -85,7 +86,17 @@ Meteor.methods({ } catch(e){ console.log(e) + } + }, + 'hard.fetchParameters': function () { + this.unblock(); + try { + let HARDList = HARDCollection.find().fetch(); + let params = HARDList[0].parameters; + return params + } + catch (e) { + console.log(e) } - } }) \ No newline at end of file diff --git a/imports/ui/hard/HARD.jsx b/imports/ui/hard/HARD.jsx index ebc124001..f85faa42d 100644 --- a/imports/ui/hard/HARD.jsx +++ b/imports/ui/hard/HARD.jsx @@ -43,7 +43,7 @@ export default class HARD extends Component { } updateParameters() { - Meteor.call('hard.parameters', (error, result) => { + Meteor.call('hard.fetchParameters', (error, result) => { if (error) { console.warn(error); this.setState({ diff --git a/server/main.js b/server/main.js index 386eb16ba..51b52a6ef 100644 --- a/server/main.js +++ b/server/main.js @@ -112,10 +112,10 @@ getDelegations = () => { getCDPList = () => { Meteor.call('cdp.list', (error, result) => { if (error) { - console.log("get CDP List error: " + error) + console.log("get CDP list error: " + error) } else { - console.log("get CDP List ok: " + result) + console.log("get CDP list ok: " + result) } }); } @@ -123,10 +123,10 @@ getCDPList = () => { getHARDDeposits = () => { Meteor.call('hard.deposits', (error, result) => { if (error) { - console.log("get HARD Deposits error: " + error) + console.log("get HARD deposits error: " + error) } else { - console.log("get HARD Deposits ok: " + result) + console.log("get HARD deposits ok: " + result) } }); } @@ -134,14 +134,26 @@ getHARDDeposits = () => { getHARDBorrows = () => { Meteor.call('hard.borrows', (error, result) => { if (error) { - console.log("get HARD Borrows error: " + error) + console.log("get HARD borrows error: " + error) } else { - console.log("get HARD Borrows ok: " + result) + console.log("get HARD borrows ok: " + result) } }); } +getHARDParameters = () => { + Meteor.call('hard.parameters', (error, result) => { + if (error) { + console.log("get HARD parameters error: " + error) + } + else { + console.log("get HARD parameters ok: " + result) + } + }); + +} + aggregateMinutely = () => { // doing something every min Meteor.call('Analytics.aggregateBlockTimeAndVotingPower', "m", (error, result) => { @@ -263,6 +275,7 @@ Meteor.startup(function () { timerHARD = Meteor.setInterval(function () { getHARDDeposits(); getHARDBorrows(); + getHARDParameters(); }, Meteor.settings.params.HARDInterval); timerAggregate = Meteor.setInterval(function () { From cec1c55317ac31e482701cb4b0a99bee2e43008d Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Wed, 14 Jul 2021 19:29:27 +0800 Subject: [PATCH 20/25] Store cdp parameters in db --- imports/api/cdp/server/methods.js | 20 ++++++++++++++++---- imports/ui/accounts/Account.jsx | 7 ++++--- imports/ui/cdp/CDP.jsx | 2 +- imports/ui/cdp/List.jsx | 2 +- server/main.js | 13 ++++++++++++- 5 files changed, 34 insertions(+), 10 deletions(-) diff --git a/imports/api/cdp/server/methods.js b/imports/api/cdp/server/methods.js index 35205f7b1..741803e49 100644 --- a/imports/api/cdp/server/methods.js +++ b/imports/api/cdp/server/methods.js @@ -39,13 +39,14 @@ Meteor.methods({ 'cdp.parameters': function () { this.unblock(); let url = LCD + '/cdp/parameters'; - let cdpParams = {}; + let parameters = {}; try { let response = HTTP.get(url); if (response.statusCode == 200) { - cdpParams = JSON.parse(response.content).result; - return cdpParams + parameters = JSON.parse(response.content).result; + CDPCollection.upsert({}, { $set: { parameters: parameters } }); + return parameters } } catch (e) { @@ -97,8 +98,19 @@ Meteor.methods({ } }, + 'cdp.fetchParameters': function () { + this.unblock(); + try { + let parameters = CDPCollection.find().fetch(); + return parameters[0].parameters + } + catch (e) { + console.log(e) + } + }, + //get Account CDP - 'cdp.account': function (address, collateralType) { + 'cdp.fetchAccount': function (address, collateralType) { this.unblock(); try{ diff --git a/imports/ui/accounts/Account.jsx b/imports/ui/accounts/Account.jsx index d40bdc327..1b90be1fc 100644 --- a/imports/ui/accounts/Account.jsx +++ b/imports/ui/accounts/Account.jsx @@ -649,7 +649,7 @@ export default class AccountDetails extends Component { } checkIfCDPIsActive() { - Meteor.call('cdp.parameters', (error, result) => { + Meteor.call('cdp.fetchParameters', (error, result) => { if (error) { console.warn(error); this.setState({ @@ -661,11 +661,10 @@ export default class AccountDetails extends Component { this.setState({ debtParams: result.debt_param }); - let collateralParams = []; for (let c in result.collateral_params) { let counter = 0; - Meteor.call('cdp.account', this.state.address, result.collateral_params[c].type, (err, res) => { + Meteor.call('cdp.fetchAccount', this.state.address, result.collateral_params[c].type, (err, res) => { if (err) { this.setState({ loading: true, @@ -729,6 +728,8 @@ export default class AccountDetails extends Component { } render() { + console.log(this.state.debtParams) + console.log(this.state.collateralParams) if (this.state.loading) { return

accounts.accountDetails

diff --git a/imports/ui/cdp/CDP.jsx b/imports/ui/cdp/CDP.jsx index f747eda1a..05b675a02 100644 --- a/imports/ui/cdp/CDP.jsx +++ b/imports/ui/cdp/CDP.jsx @@ -60,7 +60,7 @@ export default class CDP extends Component { } updateCDP() { - Meteor.call('cdp.account', this.props.owner, this.props.collateralType, (error, result) => { + Meteor.call('cdp.fetchAccount', this.props.owner, this.props.collateralType, (error, result) => { if (error) { console.warn(error); this.setState({ diff --git a/imports/ui/cdp/List.jsx b/imports/ui/cdp/List.jsx index 1b3f946f9..92f16ff61 100644 --- a/imports/ui/cdp/List.jsx +++ b/imports/ui/cdp/List.jsx @@ -80,7 +80,7 @@ export default class List extends Component { getMinCollateralRatio = () => { - Meteor.call('cdp.parameters', (error, result) => { + Meteor.call('cdp.fetchParameters', (error, result) => { if (error) { console.warn(error); this.setState({ diff --git a/server/main.js b/server/main.js index 51b52a6ef..c84a4b2c1 100644 --- a/server/main.js +++ b/server/main.js @@ -120,6 +120,17 @@ getCDPList = () => { }); } +getCDPParameters = () => { + Meteor.call('cdp.parameters', (error, result) => { + if (error) { + console.log("get CDP parameters error: " + error) + } + else { + console.log("get CDP parameters ok: " + result) + } + }); +} + getHARDDeposits = () => { Meteor.call('hard.deposits', (error, result) => { if (error) { @@ -270,6 +281,7 @@ Meteor.startup(function () { timerCDP = Meteor.setInterval(function () { getCDPList(); + getCDPParameters(); }, Meteor.settings.params.CDPInterval); timerHARD = Meteor.setInterval(function () { @@ -296,5 +308,4 @@ Meteor.startup(function () { } }) - // here put accoutnquery }); \ No newline at end of file From 020b7757e4d950b4d1d055ed6283de2b92433106 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Thu, 15 Jul 2021 13:30:47 +0800 Subject: [PATCH 21/25] Store incentive --- imports/api/hard/server/methods.js | 30 ++++++++++++++++++++++++++++++ imports/ui/accounts/Account.jsx | 4 +--- imports/ui/cdp/Incentive.jsx | 2 +- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/imports/api/hard/server/methods.js b/imports/api/hard/server/methods.js index cc26867a7..0c1d23e38 100644 --- a/imports/api/hard/server/methods.js +++ b/imports/api/hard/server/methods.js @@ -46,6 +46,25 @@ Meteor.methods({ console.log(e) } }, + + 'hard.incentive': function () { + this.unblock(); + let url = LCD + '/incentive/rewards' + + try { + let response = HTTP.get(url); + if (response.statusCode == 200) { + let incentive = JSON.parse(response.content).result; + HARDCollection.upsert({}, { $set: { incentive: incentive } }); + return incentive + } + } + catch (e) { + console.log(url); + console.log(e) + } + }, + 'hard.fetchList': function () { this.unblock(); try{ @@ -98,5 +117,16 @@ Meteor.methods({ catch (e) { console.log(e) } + }, + + 'hard.fetchIncentive': function () { + this.unblock(); + try { + let hard = HARDCollection.find().fetch(); + return hard[0].incentive + } + catch (e) { + console.log(e) + } } }) \ No newline at end of file diff --git a/imports/ui/accounts/Account.jsx b/imports/ui/accounts/Account.jsx index 1b90be1fc..c7c26c0dd 100644 --- a/imports/ui/accounts/Account.jsx +++ b/imports/ui/accounts/Account.jsx @@ -429,7 +429,7 @@ export default class AccountDetails extends Component { }); - Meteor.call('account.getIncentive', (error, result) => { + Meteor.call('hard.fetchIncentive', (error, result) => { if (error) { console.warn(error); this.setState({ @@ -728,8 +728,6 @@ export default class AccountDetails extends Component { } render() { - console.log(this.state.debtParams) - console.log(this.state.collateralParams) if (this.state.loading) { return

accounts.accountDetails

diff --git a/imports/ui/cdp/Incentive.jsx b/imports/ui/cdp/Incentive.jsx index cb54a4687..fce19ecd4 100644 --- a/imports/ui/cdp/Incentive.jsx +++ b/imports/ui/cdp/Incentive.jsx @@ -24,7 +24,7 @@ export default class Incentive extends Component { getIncentive() { - Meteor.call('account.getIncentive', (error, result) => { + Meteor.call('hard.fetchIncentive', (error, result) => { if (error) { console.warn(error); this.setState({ From e50274ef34d280558336facc80e0a82eadeb4d46 Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Thu, 15 Jul 2021 13:33:31 +0800 Subject: [PATCH 22/25] Stored auctions details and updated cdp --- imports/api/cdp/server/methods.js | 47 +++++++++++++++++++++------- imports/api/ledger/server/methods.js | 31 ------------------ imports/ui/auction/List.jsx | 2 +- imports/ui/cdp/CDP.jsx | 20 +++++------- server/main.js | 25 +++++++++++++++ 5 files changed, 69 insertions(+), 56 deletions(-) diff --git a/imports/api/cdp/server/methods.js b/imports/api/cdp/server/methods.js index 741803e49..11be68ae9 100644 --- a/imports/api/cdp/server/methods.js +++ b/imports/api/cdp/server/methods.js @@ -57,13 +57,13 @@ Meteor.methods({ 'cdp.price': function (market) { this.unblock(); let url = LCD + '/pricefeed/price/' + market; - let cdpPrice = null; try { let response = HTTP.get(url); if (response.statusCode == 200) { - cdpPrice = JSON.parse(response.content).result.price; - return cdpPrice + price = JSON.parse(response.content).result.price; + CDPCollection.upsert({}, { $set: { price: price } }); + return price } } catch (e) { @@ -71,14 +71,16 @@ Meteor.methods({ } }, - 'cdp.deposits': function (address, collateral) { + 'cdp.auctions': function () { this.unblock(); - let url = LCD + '/cdp/cdps/cdp/deposits/' + address + '/' + collateral; + let url = LCD + '/auction/auctions' try { let response = HTTP.get(url); if (response.statusCode == 200) { - return JSON.parse(response.content).result + let auctions = JSON.parse(response.content).result; + CDPCollection.upsert({}, { $set: { auctions: auctions } }); + return auctions } } catch (e) { @@ -90,8 +92,8 @@ Meteor.methods({ 'cdp.fetchList': function () { this.unblock(); try{ - let CDPList = CDPCollection.find().fetch(); - return CDPList[0] + let cdp = CDPCollection.find().fetch(); + return cdp[0] } catch(e){ console.log(e) @@ -101,8 +103,8 @@ Meteor.methods({ 'cdp.fetchParameters': function () { this.unblock(); try { - let parameters = CDPCollection.find().fetch(); - return parameters[0].parameters + let cdp = CDPCollection.find().fetch(); + return cdp[0].parameters } catch (e) { console.log(e) @@ -125,5 +127,28 @@ Meteor.methods({ catch(e){ console.log(e) } - } + }, + + 'cdp.fetchPrice': function () { + this.unblock(); + try { + let cdp = CDPCollection.find().fetch(); + return cdp[0].price + } + catch (e) { + console.log(e) + } + }, + + 'cdp.fetchAuction': function () { + this.unblock(); + try { + let cdp = CDPCollection.find().fetch(); + return cdp[0].auctions + } + catch (e) { + console.log(e) + } + }, + }) \ No newline at end of file diff --git a/imports/api/ledger/server/methods.js b/imports/api/ledger/server/methods.js index 16a4b9c55..9cf4a03ec 100644 --- a/imports/api/ledger/server/methods.js +++ b/imports/api/ledger/server/methods.js @@ -59,37 +59,6 @@ Meteor.methods({ this.unblock(); let validator = Validators.findOne({ delegator_address: address }) return validator; - }, - 'account.getIncentive': function () { - this.unblock(); - let url = LCD + '/incentive/rewards' - - try { - let response = HTTP.get(url); - if (response.statusCode == 200) { - return JSON.parse(response.content).result - } - } - catch (e) { - console.log(url); - console.log(e) - } - }, - - 'account.auction': function () { - this.unblock(); - let url = LCD + '/auction/auctions' - - try { - let response = HTTP.get(url); - if (response.statusCode == 200) { - return JSON.parse(response.content).result - } - } - catch (e) { - console.log(url); - console.log(e) - } } diff --git a/imports/ui/auction/List.jsx b/imports/ui/auction/List.jsx index 856850978..e7c98c10c 100644 --- a/imports/ui/auction/List.jsx +++ b/imports/ui/auction/List.jsx @@ -45,7 +45,7 @@ export default class List extends Component { } getCDPList = () => { - Meteor.call('account.auction', (error, result) => { + Meteor.call('cdp.fetchAuction', (error, result) => { if (result && result.length > 0) { this.setState({ auctionList: result.map((list, i) => { diff --git a/imports/ui/cdp/CDP.jsx b/imports/ui/cdp/CDP.jsx index 05b675a02..50e024878 100644 --- a/imports/ui/cdp/CDP.jsx +++ b/imports/ui/cdp/CDP.jsx @@ -31,7 +31,6 @@ export default class CDP extends Component { deposits: [], isDepositor: false, cdpOwner: '', - depositValue: 0, BNB_USD: 0, BNB_USD_30: 0, denomType: '', @@ -79,21 +78,16 @@ export default class CDP extends Component { } updateDeposits() { - Meteor.call('cdp.deposits', this.props.owner, this.props.collateralType, (error, result) => { - if (!error) { + Meteor.call('cdp.fetchAccount', this.props.user, this.props.collateralType, (error, result) => { + if (error) { this.setState({ - deposits: result, isDepositor: false, }) - - for (let i in result) { - if (this.props.user == result[i].depositor) { - this.setState({ - isDepositor: true, - depositValue: result[i].amount.amount - }) - } - } + } + else if(result){ + this.setState({ + isDepositor: true, + }) } }) } diff --git a/server/main.js b/server/main.js index c84a4b2c1..2be4c857f 100644 --- a/server/main.js +++ b/server/main.js @@ -2,6 +2,7 @@ import '/imports/startup/server'; import '/imports/startup/both'; +import _ from 'lodash'; SYNCING = false; TXSYNCING = false; @@ -120,6 +121,28 @@ getCDPList = () => { }); } +getAuctions = () => { + Meteor.call('cdp.auctions', (error, result) => { + if (error) { + console.log("get CDP auctions error: " + error) + } + else { + console.log("get CDP auctions ok: " + result) + } + }); +} + +getIncentive = () => { + Meteor.call('hard.incentive', (error, result) => { + if (error) { + console.log("get incentive error: " + error) + } + else { + console.log("get incentive ok: " + result) + } + }); +} + getCDPParameters = () => { Meteor.call('cdp.parameters', (error, result) => { if (error) { @@ -282,12 +305,14 @@ Meteor.startup(function () { timerCDP = Meteor.setInterval(function () { getCDPList(); getCDPParameters(); + getAuctions(); }, Meteor.settings.params.CDPInterval); timerHARD = Meteor.setInterval(function () { getHARDDeposits(); getHARDBorrows(); getHARDParameters(); + getIncentive(); }, Meteor.settings.params.HARDInterval); timerAggregate = Meteor.setInterval(function () { From 8cb4c85e097b77e958c4cfce3083675bfcfb862e Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Thu, 15 Jul 2021 13:40:12 +0800 Subject: [PATCH 23/25] Updated CHANGELOG --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f5fa93ab..afeb84c6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## [UNRELEASED] * [#536] Added missing `/` in staking parameters URL -* [#535] Stored CDP and HARD details in db +* [#535] Stored CDP, HARD, incentive and auctions details in db # kava-7-v1.1 * Update npm packages From 7b4d79dee23e93ed3200372815b76771731fcdde Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Thu, 15 Jul 2021 13:55:40 +0800 Subject: [PATCH 24/25] Updated collateralTypes in cdp.list --- imports/api/cdp/server/methods.js | 8 +++++++- server/main.js | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/imports/api/cdp/server/methods.js b/imports/api/cdp/server/methods.js index 11be68ae9..a3e842816 100644 --- a/imports/api/cdp/server/methods.js +++ b/imports/api/cdp/server/methods.js @@ -6,8 +6,14 @@ import { CDPCollection } from '../cdp'; Meteor.methods({ 'cdp.list': function () { this.unblock(); - let collateralTypes = ['ukava-a', 'bnb-a', 'hard-a', 'btcb-a', 'xrpb-a', 'busd-a', 'busd-b'] + let collateralTypes = []; let CDPList = {}; + let cdp = CDPCollection.find().fetch(); + let parameters = cdp[0]?.parameters?.collateral_params; + for(let c in parameters){ + collateralTypes[c] = parameters[c]?.type + } + for(let collateral in collateralTypes){ let url = LCD + '/cdp/cdps/collateralType/' + collateralTypes[collateral]; try { diff --git a/server/main.js b/server/main.js index 2be4c857f..05f1cea36 100644 --- a/server/main.js +++ b/server/main.js @@ -303,8 +303,8 @@ Meteor.startup(function () { }, Meteor.settings.params.delegationInterval); timerCDP = Meteor.setInterval(function () { - getCDPList(); getCDPParameters(); + getCDPList(); getAuctions(); }, Meteor.settings.params.CDPInterval); From 23776302a5b6ef48d63f9cce9bb6c6d05653919e Mon Sep 17 00:00:00 2001 From: Magic Cat Date: Thu, 15 Jul 2021 13:59:06 +0800 Subject: [PATCH 25/25] Code cleanup --- server/main.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/server/main.js b/server/main.js index 05f1cea36..e6ea761d7 100644 --- a/server/main.js +++ b/server/main.js @@ -121,6 +121,17 @@ getCDPList = () => { }); } +getCDPParameters = () => { + Meteor.call('cdp.parameters', (error, result) => { + if (error) { + console.log("get CDP parameters error: " + error) + } + else { + console.log("get CDP parameters ok: " + result) + } + }); +} + getAuctions = () => { Meteor.call('cdp.auctions', (error, result) => { if (error) { @@ -143,17 +154,6 @@ getIncentive = () => { }); } -getCDPParameters = () => { - Meteor.call('cdp.parameters', (error, result) => { - if (error) { - console.log("get CDP parameters error: " + error) - } - else { - console.log("get CDP parameters ok: " + result) - } - }); -} - getHARDDeposits = () => { Meteor.call('hard.deposits', (error, result) => { if (error) {
hard.borrower
hard.amount -
{new Coin(this.state.HARDBorrows.amount, this.state.HARDBorrows.denom).toString()}
+
{new Coin(this.state.HARDBorrows?.amount, this.state.HARDBorrows?.denom).toString()}