From 29754e23b5451ebeca987c55b0053a4de3e9916f Mon Sep 17 00:00:00 2001 From: poka Date: Mon, 8 Aug 2022 19:40:24 +0200 Subject: [PATCH] prepare to implement unclaimedUd evaluation --- lib/providers/substrate_sdk.dart | 33 +++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/lib/providers/substrate_sdk.dart b/lib/providers/substrate_sdk.dart index dccacc4..1770abe 100644 --- a/lib/providers/substrate_sdk.dart +++ b/lib/providers/substrate_sdk.dart @@ -255,11 +255,12 @@ class SubstrateSdk with ChangeNotifier { return consumers == 0 ? false : true; } - Future getBalance(String address, {bool isUd = false}) async { + Future getBalance(String address) async { double balance = 0.0; if (nodeConnected) { final brutBalance = await sdk.api.account.queryBalance(address); + // log.d(brutBalance?.toJson()); balance = int.parse(brutBalance!.freeBalance) / 100; } else { balance = -1; @@ -267,6 +268,36 @@ class SubstrateSdk with ChangeNotifier { return balance; } + Future getUnclaimedUd(String address) async { +// TODO: Implement unclaimedUd evaluation +// Pour ce faire, il vous faut requêter cinq éléments de storage : + +// system.account(address) +// identity.identityIndexOf(address) +// identity.identities(idtyIndex) +// universalDividend.currentUdIndex() +// universalDividend.pastReevals() + +// const api = await ApiPromise.create(...); +// const { data: balance } = await api.query.system.account(address); +// const idtyIndex = await api.query.identity.identityIndexOf(address); +// const { data: idtyData } = await api.query.identity.identies(idtyIndex); +// const currentUdIndex = await api.query.universalDividend.currentUdIndex(); +// const pastReevals = await api.query.universalDividend.pastReevals(); + +// let newUdsAmount = computeClaimUds(currentUdIndex, idtyData.firstEligibleUd, pastReevals); +// let transferableBalance = balance.free + newUdsAmount; +// let potentialBalance = balance.reserved + transferableBalance; + + double balance = 0.0; + + final brutBalance = await sdk.api.account.queryBalance(address); + // log.d(brutBalance?.toJson()); + balance = int.parse(brutBalance!.freeBalance) / 100; + + return balance; + } + Future subscribeBalance(String address, {bool isUd = false}) async { double balance = 0.0; if (nodeConnected) {