Skip to content
Snippets Groups Projects
Select Git revision
  • d125e080a10e8cf5d2cf010d70b59eb5f94f9316
  • dev default
  • atelier-gva
  • doc-gva
  • gva-txs_by_block
  • gva-blocks
  • oxyde-bc-db
  • oxyde-dal
  • oxyde-scrypt
  • release/1.8
  • stable
  • feature/oxyde-pow
  • fix/security-vulnerabilities
  • feature/deb-arm-systemd
  • bugfix/invalid-rules-distance-sigqty
  • 1.7
  • 1.6
  • build
  • sync
  • test_prebuilt_nm
  • dependencies-caching
  • v1.8.1
  • v1.8.0
  • v1.8.0-rc1
  • v1.8.0-beta5
  • v1.8.0-beta4
  • v1.8.0-beta3
  • v1.8.0-beta2
  • v1.8.0-beta
  • v1.7.21
  • v1.7.20
  • v1.7.19
  • v1.7.18
  • v1.7.17
  • v1.6.32
  • v1.7.13
  • 2019.0407.1508
  • v1.7.16
  • 2019.0405.1251
  • 2019.0407.1406
  • v1.7.15
41 results

index.ts

Blame
  • Forked from nodes / typescript / duniter
    Source project has a limited visibility.
    substrate_sdk.dart 38.55 KiB
    // ignore_for_file: use_build_context_synchronously, body_might_complete_normally_catch_error
    
    import 'dart:convert';
    
    import 'package:easy_localization/easy_localization.dart';
    import 'package:fast_base58/fast_base58.dart';
    import 'package:flutter/foundation.dart';
    import 'package:flutter/material.dart';
    import 'package:gecko/globals.dart';
    import 'package:gecko/models/chest_data.dart';
    import 'package:gecko/models/wallet_data.dart';
    import 'package:gecko/providers/duniter_indexer.dart';
    import 'package:gecko/providers/home.dart';
    import 'package:gecko/providers/my_wallets.dart';
    import 'package:gecko/providers/wallet_options.dart';
    import 'package:gecko/providers/wallets_profiles.dart';
    import 'package:pinenacl/ed25519.dart';
    import 'package:polkawallet_sdk/api/apiKeyring.dart';
    import 'package:polkawallet_sdk/api/types/networkParams.dart';
    import 'package:polkawallet_sdk/api/types/txInfoData.dart';
    import 'package:polkawallet_sdk/polkawallet_sdk.dart';
    import 'package:polkawallet_sdk/storage/keyring.dart';
    import 'package:polkawallet_sdk/storage/types/keyPairData.dart';
    import 'package:polkawallet_sdk/webviewWithExtension/types/signExtrinsicParam.dart';
    import 'package:provider/provider.dart';
    import 'package:truncate/truncate.dart';
    import 'package:pointycastle/pointycastle.dart' as pc;
    import "package:hex/hex.dart";
    
    class SubstrateSdk with ChangeNotifier {
      final WalletSDK sdk = WalletSDK();
      final Keyring keyring = Keyring();
      String generatedMnemonic = '';
      bool sdkReady = false;
      bool sdkLoading = false;
      bool nodeConnected = false;
      bool importIsLoading = false;
      int blocNumber = 0;
      bool isLoadingEndpoint = false;
      String transactionStatus = '';
      final int initSs58 = 42;
      Map<String, int> currencyParameters = {};
      TextEditingController csSalt = TextEditingController();
      TextEditingController csPassword = TextEditingController();
      String g1V1NewAddress = '';
      String g1V1OldPubkey = '';
      bool isCesiumIDVisible = false;
      bool isCesiumAddresLoading = false;
      late int udValue;
      Map<String, List<int>> certsCounterCache = {};
      Map<String, List> oldOwnerKeys = {};
    
      /////////////////////////////////////
      ////////// 1: API METHODS ///////////
      /////////////////////////////////////
    
      Future<String> _executeCall(TxInfoData txInfo, txOptions, String password,
          [String? rawParams]) async {
        final walletOptions =
            Provider.of<WalletOptionsProvider>(homeContext, listen: false);
        final walletProfiles =
            Provider.of<WalletsProfilesProvider>(homeContext, listen: false);
        try {
          final hash = await sdk.api.tx.signAndSend(txInfo, txOptions, password,
              rawParam: rawParams, onStatusChange: (p0) {
            transactionStatus = p0;
            notifyListeners();
          }).timeout(
            const Duration(seconds: 18),
            onTimeout: () => {},