import 'dart:typed_data'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/scale_functions.dart'; import 'package:gecko/providers/substrate_sdk.dart'; import 'package:provider/provider.dart'; import 'package:truncate/truncate.dart'; void snackNode(bool isConnected) { String message; if (!isConnected) { message = "noDuniterNodeAvailableTryLater".tr(); } else { final sub = Provider.of<SubstrateSdk>(homeContext, listen: false); message = "${"youAreConnectedToNode".tr()}\n${sub.getConnectedEndpoint()!.split('//')[1]}"; } final snackBar = SnackBar( backgroundColor: Colors.grey[900], padding: const EdgeInsets.all(20), content: Text(message, style: scaledTextStyle(fontSize: 13)), duration: const Duration(seconds: 4)); ScaffoldMessenger.of(homeContext).showSnackBar(snackBar); } String getShortPubkey(String pubkey) { String pubkeyShort = truncate(pubkey, 7, omission: String.fromCharCode(0x2026), position: TruncatePosition.end) + truncate(pubkey, 6, omission: "", position: TruncatePosition.start); return pubkeyShort; } Uint8List int32bytes(int value) => Uint8List(4)..buffer.asInt32List()[0] = value; double round(double number, [int decimal = 2]) { return double.parse((number.toStringAsFixed(decimal))); }