From 2ee65b584ea21d59f44d01884afb2cf9fe296068 Mon Sep 17 00:00:00 2001 From: detherminal <76167420+detherminal@users.noreply.github.com> Date: Thu, 27 Jul 2023 23:15:49 +0300 Subject: [PATCH] fix: fetch from nodes instead of tzkt --- lib/services/coins/tezos/tezos_wallet.dart | 13 +++++++------ lib/utilities/default_nodes.dart | 4 ++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/services/coins/tezos/tezos_wallet.dart b/lib/services/coins/tezos/tezos_wallet.dart index e5576741c..38631a071 100644 --- a/lib/services/coins/tezos/tezos_wallet.dart +++ b/lib/services/coins/tezos/tezos_wallet.dart @@ -292,8 +292,8 @@ class TezosWallet extends CoinServiceAPI with WalletCache, WalletDB { } Future updateBalance() async { - var api = "https://api.mainnet.tzkt.io/v1/accounts/${await currentReceivingAddress}/balance"; // TODO: Can we use current node instead of this? - var theBalance = await get(Uri.parse(api)).then((value) => value.body); + var api = "${getCurrentNode().host}:${getCurrentNode().port}/chains/main/blocks/head/context/contracts/${await currentReceivingAddress}/balance"; + var theBalance = (await get(Uri.parse(api)).then((value) => value.body)).substring(1, (await get(Uri.parse(api)).then((value) => value.body)).length - 2); Logging.instance.log("Balance for ${await currentReceivingAddress}: $theBalance", level: LogLevel.Info); var balanceInAmount = Amount(rawValue: BigInt.parse(theBalance.toString()), fractionDigits: 6); _balance = Balance( @@ -355,9 +355,10 @@ class TezosWallet extends CoinServiceAPI with WalletCache, WalletDB { } Future updateChainHeight() async { - var api = "https://api.tzkt.io/v1/blocks/count"; // TODO: Can we use current node instead of this? - var returnedHeight = await get(Uri.parse(api)).then((value) => value.body); - final int intHeight = int.parse(returnedHeight.toString()); + var api = "${getCurrentNode().host}:${getCurrentNode().port}/chains/main/blocks/head/header/shell"; + var jsonParsedResponse = jsonDecode(await get(Uri.parse(api)).then((value) => value.body)); + final int intHeight = int.parse(jsonParsedResponse["level"].toString()); + Logging.instance.log("Chain height: $intHeight", level: LogLevel.Info); await updateCachedChainHeight(intHeight); } @@ -375,7 +376,7 @@ class TezosWallet extends CoinServiceAPI with WalletCache, WalletDB { @override Future testNetworkConnection() async{ try { - await get(Uri.parse("https://api.mainnet.tzkt.io/v1/accounts/${await currentReceivingAddress}/balance")); + await get(Uri.parse("${getCurrentNode().host}:${getCurrentNode().port}/chains/main/blocks/head/header/shell")); return true; } catch (e) { return false; diff --git a/lib/utilities/default_nodes.dart b/lib/utilities/default_nodes.dart index ac2edb482..22f274d62 100644 --- a/lib/utilities/default_nodes.dart +++ b/lib/utilities/default_nodes.dart @@ -182,8 +182,8 @@ abstract class DefaultNodes { isDown: false ); - static NodeModel get tezos => NodeModel( // TODO: Change this to original one - host: "mainnet.api.tez.ie", + static NodeModel get tezos => NodeModel( // TODO: Change this to stack wallet one + host: "https://mainnet.api.tez.ie", port: 443, name: defaultName, id: _nodeId(Coin.tezos),