diff --git a/fusiondart b/fusiondart
index 3d89074c6..6cd09fe76 160000
--- a/fusiondart
+++ b/fusiondart
@@ -1 +1 @@
-Subproject commit 3d89074c6a4852d1b92dc837b23e571d9ca9698c
+Subproject commit 6cd09fe76af5e20c3bf36dcd11bf26d20140e510
diff --git a/lib/services/mixins/fusion_wallet_interface.dart b/lib/services/mixins/fusion_wallet_interface.dart
index a55f5353a..10f7511a1 100644
--- a/lib/services/mixins/fusion_wallet_interface.dart
+++ b/lib/services/mixins/fusion_wallet_interface.dart
@@ -3,11 +3,7 @@ import 'dart:convert';
 import 'dart:io';
 
 import 'package:decimal/decimal.dart';
-import 'package:fusiondart/fusiondart.dart';
-import 'package:fusiondart/src/models/address.dart' as fusion_address;
-import 'package:fusiondart/src/models/input.dart' as fusion_input;
-import 'package:fusiondart/src/models/output.dart' as fusion_output;
-import 'package:fusiondart/src/models/transaction.dart' as fusion_tx;
+import 'package:fusiondart/fusiondart.dart' as fusion;
 import 'package:isar/isar.dart';
 import 'package:stackwallet/db/isar/main_db.dart';
 import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart';
@@ -64,13 +60,13 @@ mixin FusionWalletInterface {
   }
 
   /// Returns a list of all addresses in the wallet.
-  Future<List<fusion_address.Address>> getFusionAddresses() async {
+  Future<List<fusion.Address>> getFusionAddresses() async {
     List<Address> _addresses = await _db.getAddresses(_walletId).findAll();
     return _addresses.map((address) => address.toFusionAddress()).toList();
   }
 
   /// Returns a list of all transactions in the wallet for the given address.
-  Future<List<fusion_tx.Transaction>> getTransactionsByAddress(
+  Future<List<fusion.Transaction>> getTransactionsByAddress(
       String address) async {
     final _txs = await _db.getTransactions(_walletId).findAll();
 
@@ -88,10 +84,10 @@ mixin FusionWalletInterface {
   }
 
   /// Returns a list of all UTXOs in the wallet for the given address.
-  Future<List<fusion_input.Input>> getInputsByAddress(String address) async {
+  Future<List<fusion.Input>> getInputsByAddress(String address) async {
     final _utxos = await _db.getUTXOsByAddress(_walletId, address).findAll();
 
-    List<Future<fusion_input.Input>> futureInputs = _utxos
+    List<Future<fusion.Input>> futureInputs = _utxos
         .map(
           (utxo) => utxo.toFusionInput(
             walletId: _walletId,
@@ -104,7 +100,7 @@ mixin FusionWalletInterface {
   }
 
   /// Creates a new reserved change address.
-  Future<fusion_address.Address> createNewReservedChangeAddress() async {
+  Future<fusion.Address> createNewReservedChangeAddress() async {
     // _getNextUnusedChangeAddress() grabs the latest unused change address
     // from the wallet.
     // CopyWith to mark it as a fusion reserved change address
@@ -124,7 +120,7 @@ mixin FusionWalletInterface {
   /// Returns a list of unused reserved change addresses.
   ///
   /// If there are not enough unused reserved change addresses, new ones are created.
-  Future<List<fusion_address.Address>> getUnusedReservedChangeAddresses(
+  Future<List<fusion.Address>> getUnusedReservedChangeAddresses(
     int numberOfAddresses,
   ) async {
     // Fetch all reserved change addresses.
@@ -137,7 +133,7 @@ mixin FusionWalletInterface {
         .findAll();
 
     // Initialize a list of unused reserved change addresses.
-    final List<fusion_address.Address> unusedAddresses = [];
+    final List<fusion.Address> unusedAddresses = [];
 
     // check addresses for tx history
     for (final address in reservedChangeAddresses) {
@@ -210,7 +206,7 @@ mixin FusionWalletInterface {
   ///   A `Future<void>` that resolves when the fusion operation is finished.
   Future<void> fuse() async {
     // Initial attempt for CashFusion integration goes here.
-    final mainFusionObject = Fusion(FusionParams());
+    final mainFusionObject = fusion.Fusion(fusion.FusionParams());
 
     // Pass wallet functions to the Fusion object
     await mainFusionObject.initFusion(
@@ -385,16 +381,16 @@ mixin FusionWalletInterface {
 
 /// An extension of Stack Wallet's Address class that adds CashFusion functionality.
 extension FusionAddress on Address {
-  fusion_address.Address toFusionAddress() {
+  fusion.Address toFusionAddress() {
     if (derivationPath == null) {
       // throw Exception("Fusion Addresses require a derivation path");
       // TODO calculate a derivation path if it is null.
     }
 
-    return fusion_address.Address(
+    return fusion.Address(
       addr: value,
       publicKey: publicKey,
-      derivationPath: fusion_address.DerivationPath(
+      derivationPath: fusion.DerivationPath(
         derivationPath?.value ?? "", // TODO fix null derivation path.
       ),
     );
@@ -422,7 +418,7 @@ extension FusionUTXO on UTXO {
   }
 
   /// Converts a Stack Wallet UTXO to a FusionDart Input.
-  Future<fusion_input.Input> toFusionInput({
+  Future<fusion.Input> toFusionInput({
     required String walletId,
     required MainDB dbInstance,
   }) async {
@@ -441,7 +437,7 @@ extension FusionUTXO on UTXO {
         throw Exception("Public key for fetched address is empty");
       }
 
-      return fusion_input.Input(
+      return fusion.Input(
         prevTxid: utf8.encode(txid),
         prevIndex: vout,
         pubKey: addr.publicKey,
@@ -453,7 +449,7 @@ extension FusionUTXO on UTXO {
   }
 
   /// Converts a Stack Wallet UTXO to a FusionDart Output.
-  Future<fusion_output.Output> toFusionOutput({
+  Future<fusion.Output> toFusionOutput({
     required String walletId,
     required MainDB dbInstance,
   }) async {
@@ -476,11 +472,11 @@ extension FusionUTXO on UTXO {
       throw Exception("Derivation path for fetched address is empty");
     }
 
-    return fusion_output.Output(
-      addr: fusion_address.Address(
+    return fusion.Output(
+      addr: fusion.Address(
         addr: address!,
         publicKey: addr.publicKey,
-        derivationPath: fusion_address.DerivationPath(
+        derivationPath: fusion.DerivationPath(
           addr.derivationPath!.value,
         ),
       ),
@@ -502,12 +498,12 @@ extension FusionTransaction on Transaction {
   }
 
   // WIP.
-  Future<fusion_tx.Transaction> toFusionTransaction({
+  Future<fusion.Transaction> toFusionTransaction({
     required CachedElectrumX cachedElectrumX,
     required MainDB dbInstance,
   }) async {
     // Initialize Fusion Dart's Transaction object.
-    fusion_tx.Transaction fusionTransaction = fusion_tx.Transaction();
+    fusion.Transaction fusionTransaction = fusion.Transaction();
 
     // WIP.
     fusionTransaction.Inputs = await Future.wait(inputs.map((input) async {
@@ -546,7 +542,7 @@ extension FusionTransaction on Transaction {
         fractionDigits: Coin.bitcoincash.decimals,
       );
 
-      return fusion_input.Input(
+      return fusion.Input(
         prevTxid: utf8.encode(input.txid),
         prevIndex: input.vout,
         pubKey: scriptPubKeyHex.toUint8ListFromHex,
@@ -572,20 +568,20 @@ extension FusionTransaction on Transaction {
         dbInstance: dbInstance,
       );
 
-      final fusion_address.DerivationPath? derivationPath;
+      final fusion.DerivationPath? derivationPath;
       if (derivationPathString == null) {
         // TODO: check on this:
         // The address is not an address of this wallet and in that case we
         // cannot know the derivation path
         derivationPath = null;
       } else {
-        derivationPath = fusion_address.DerivationPath(
+        derivationPath = fusion.DerivationPath(
           derivationPathString,
         );
       }
 
-      return fusion_output.Output(
-        addr: fusion_address.Address(
+      return fusion.Output(
+        addr: fusion.Address(
           addr: output.scriptPubKeyAddress,
           publicKey: outputAddressScriptPubKey,
           derivationPath: derivationPath,