Browse Source

Refactor: merge core/UDataObjects -> core.utils/UCoreObjects

Herman Schoenfeld 7 years ago
parent
commit
04b7fe038f
34 changed files with 260 additions and 280 deletions
  1. 151 1
      src/core.utils/UCoreObjects.pas
  2. 1 1
      src/core.utils/UCoreUtils.pas
  3. 0 182
      src/core/UDataObjects.pas
  4. 1 1
      src/gui/UCTRLWallet.pas
  5. 1 1
      src/gui/UFRMWalletKeys.pas
  6. 1 1
      src/gui/wizards/operations/UWIZChangeKey.pas
  7. 2 2
      src/gui/wizards/operations/UWIZChangeKey_EnterKey.pas
  8. 2 2
      src/gui/wizards/operations/UWIZChangeKey_SelectKey.pas
  9. 1 1
      src/gui/wizards/operations/UWIZChangeKey_SelectOption.pas
  10. 1 1
      src/gui/wizards/operations/UWIZEnlistAccountForSale.pas
  11. 1 1
      src/gui/wizards/operations/UWIZEnlistAccountForSale_EnterLockingBlock.pas
  12. 1 1
      src/gui/wizards/operations/UWIZEnlistAccountForSale_EnterPublicKey.pas
  13. 2 2
      src/gui/wizards/operations/UWIZEnlistAccountForSale_EnterSaleAmount.pas
  14. 1 1
      src/gui/wizards/operations/UWIZEnlistAccountForSale_EnterSeller.pas
  15. 1 1
      src/gui/wizards/operations/UWIZEnlistAccountForSale_SelectOption.pas
  16. 1 1
      src/gui/wizards/operations/UWIZOperationConfirmation.pas
  17. 2 2
      src/gui/wizards/operations/UWIZOperationFee_Custom.pas
  18. 1 1
      src/gui/wizards/operations/UWIZOperationPayload_Content.pas
  19. 1 1
      src/gui/wizards/operations/UWIZOperationPayload_Encryption.pas
  20. 1 1
      src/gui/wizards/operations/UWIZOperationPayload_Password.pas
  21. 1 1
      src/gui/wizards/operations/UWIZOperationSelected.pas
  22. 1 1
      src/gui/wizards/operations/UWIZOperationSigner_Select.pas
  23. 1 1
      src/gui/wizards/operations/UWIZSendPASC.pas
  24. 1 1
      src/gui/wizards/operations/UWIZSendPASC_EnterQuantity.pas
  25. 2 2
      src/gui/wizards/operations/UWIZSendPASC_EnterRecipient.pas
  26. 17 1
      src/gui/wizards/wallet/UWIZAddKey.pas
  27. 1 1
      src/gui/wizards/wallet/UWIZAddKey_EnterName.pas
  28. 1 1
      src/gui/wizards/wallet/UWIZAddKey_GenerateOrImport.pas
  29. 1 1
      src/gui/wizards/wallet/UWIZAddKey_ImportPrivKey.pas
  30. 1 1
      src/gui/wizards/wallet/UWIZAddKey_ImportPubKey.pas
  31. 1 1
      src/gui/wizards/wallet/UWIZAddKey_SelectEncryption.pas
  32. 1 1
      src/gui/wizards/wallet/UWIZAddKey_Start.pas
  33. 58 62
      src/pascalcoin_wallet.lpi
  34. BIN
      src/pascalcoin_wallet_classic.res

+ 151 - 1
src/core.utils/UCoreObjects.pas

@@ -16,7 +16,7 @@ unit UCoreObjects;
 interface
 
 uses
-  Classes, SysUtils, UCrypto, UAccounts, UBlockChain, UCommon,
+  Classes, SysUtils, UCrypto, UAccounts, UBlockChain, UWallet, UCommon,
   Generics.Collections, Generics.Defaults;
 
 type
@@ -28,6 +28,140 @@ type
     TotalPASA : Cardinal;
   end;
 
+  { TExecuteOperationsModel }
+
+  TExecuteOperationsModel = class(TComponent)
+    public
+      type
+
+      { TExecuteOperationType }
+
+      TExecuteOperationType = (omtAccount, omtSendPasc, omtChangeKey, omtTransferAccount, omtChangeAccountPrivateKey, omtAddKey, omtEnlistAccountForSale);
+
+      { TPayloadEncryptionMode }
+
+      TPayloadEncryptionMode = (akaEncryptWithSender, akaEncryptWithReceiver, akaEncryptWithPassword, akaNotEncrypt);
+
+      { TOperationSigningMode }
+
+      TOperationSigningMode = (akaPrimary, akaSecondary);
+
+      { TChangeKeyMode }
+
+      TChangeKeyMode = (akaTransferAccountOwnership, akaChangeAccountPrivateKey);
+
+      { TSendPASCMode }
+
+      TSendPASCMode = (akaAllBalance, akaSpecifiedAmount);
+
+      { TAccountSaleMode }
+      TAccountSaleMode = (akaPublicSale, akaPrivateSale);
+
+      { TOperationExecuteResultHandler }
+
+      TOperationExecuteResultHandler =
+      procedure(const ASourceAccount: TAccount; AOpType: TExecuteOperationType; const AOpText: ansistring; Result: boolean; const Message: ansistring) of object;
+
+
+      { TAccountModel }
+
+      TAccountModel = class(TComponent)
+      public
+        SelectedAccounts: TArray<TAccount>;
+      end;
+
+      { TSendPASCModel }
+
+      TSendPASCModel = class(TComponent)
+      public
+        SingleAmountToSend: int64;
+        DestinationAccount: TAccount;
+        SendPASCMode: TSendPASCMode;
+      end;
+
+      { TChangeKeyModel }
+
+      TChangeKeyModel = class(TComponent)
+      public
+        ChangeKeyMode: TChangeKeyMode;
+      end;
+
+      { TTransferAccountModel }
+
+      TTransferAccountModel = class(TComponent)
+      public
+        AccountKey: TAccountKey;
+      end;
+
+      { TChangeAccountPrivateKeyModel }
+
+      TChangeAccountPrivateKeyModel = class(TComponent)
+      public
+        SelectedIndex: integer;
+        NewWalletKey: TWalletKey;
+      end;
+
+      { TWIZEnlistAccountForSaleModel }
+      TEnlistAccountForSaleModel = class(TComponent)
+      public
+        SalePrice: int64;
+        NewOwnerPublicKey: TAccountKey;
+        LockedUntilBlock: cardinal;
+        SellerAccount: TAccount;
+        AccountSaleMode: TAccountSaleMode;
+      end;
+
+      { TFeeModel }
+
+      TFeeModel = class(TComponent)
+      public
+        DefaultFee, SingleOperationFee: int64;
+      end;
+
+      { TSignerModel }
+
+      TSignerModel = class(TComponent)
+      public
+        OperationSigningMode: TOperationSigningMode;
+        SignerAccount: TAccount;
+        SignerCandidates: TArray<TAccount>;
+        SelectedIndex: integer;
+      end;
+
+      { TPayloadModel }
+
+      TPayloadModel = class(TComponent)
+      public
+        HasPayload: boolean;
+        Content, Password: string;
+        PayloadEncryptionMode: TPayloadEncryptionMode;
+        EncodedBytes: TRawBytes;
+      end;
+
+    private
+      FExecuteOperationType: TExecuteOperationType;
+      FAccount: TAccountModel;
+      FSendPASC: TSendPASCModel;
+      FChangeKey: TChangeKeyModel;
+      FTransferAccount: TTransferAccountModel;
+      FChangeAccountPrivateKey: TChangeAccountPrivateKeyModel;
+      FEnlistAccountForSale: TEnlistAccountForSaleModel;
+      FFee: TFeeModel;
+      FSigner: TSignerModel;
+      FPayload: TPayloadModel;
+    public
+      constructor Create(AOwner: TComponent; AType: TExecuteOperationType); overload;
+      property ExecuteOperationType: TExecuteOperationType read FExecuteOperationType;
+      property Account: TAccountModel read FAccount;
+      property SendPASC: TSendPASCModel read FSendPASC;
+      property ChangeKey: TChangeKeyModel read FChangeKey;
+      property TransferAccount: TTransferAccountModel read FTransferAccount;
+      property ChangeAccountPrivateKey: TChangeAccountPrivateKeyModel read FChangeAccountPrivateKey;
+      property EnlistAccountForSale: TEnlistAccountForSaleModel read FEnlistAccountForSale;
+      property Fee: TFeeModel read FFee;
+      property Signer: TSignerModel read FSigner;
+      property Payload: TPayloadModel read FPayload;
+    end;
 
 const
   CT_BalanceSummary_Nil : TBalanceSummary = (
@@ -36,5 +170,21 @@ const
   );
 
 implementation
+
+constructor TExecuteOperationsModel.Create(AOwner: TComponent; AType: TExecuteOperationsModel.TExecuteOperationType);
+begin
+  inherited Create(AOwner);
+  FExecuteOperationType := AType;
+  FAccount := TAccountModel.Create(Self);
+  FSendPASC := TSendPASCModel.Create(Self);
+  FChangeKey := TChangeKeyModel.Create(Self);
+  FTransferAccount := TTransferAccountModel.Create(Self);
+  FChangeAccountPrivateKey := TChangeAccountPrivateKeyModel.Create(Self);
+  FEnlistAccountForSale := TEnlistAccountForSaleModel.Create(Self);
+  FFee := TFeeModel.Create(Self);
+  FSigner := TSignerModel.Create(Self);
+  FPayload := TPayloadModel.Create(Self);
+end;
+
 end.
 

+ 1 - 1
src/core.utils/UCoreUtils.pas

@@ -18,7 +18,7 @@ interface
 
 uses
   Classes, SysUtils, UCrypto, UAccounts, UBlockChain, UOpTransaction, UNode, UCommon, UNetProtocol,
-  Generics.Collections, Generics.Defaults, UCoreObjects, UDataObjects, Forms, Dialogs, LCLType, UCellRenderers;
+  Generics.Collections, Generics.Defaults, UCoreObjects, Forms, Dialogs, LCLType, UCellRenderers;
 
 type
 

+ 0 - 182
src/core/UDataObjects.pas

@@ -1,182 +0,0 @@
-unit UDataObjects;
-
-
-{$ifdef fpc}
-  {$mode delphi}
-{$endif}
-
-interface
-
-uses Classes, SysUtils, UWizard, UAccounts, UBlockChain, UWallet,
-  UBaseTypes, Generics.Defaults;
-
-type
-  { TWIZAddKeyAction }
-
-  TWIZAddKeyAction = (akaGenerateKey, akaImportPrivateKey, akaImportPublicKey);
-
-
-  { TWIZAddKeyModel }
-
-  TWIZAddKeyModel = class(TComponent)
-  public
-    Name: string;
-    KeyText: string;
-    Password: string;
-    EncryptionTypeNID: word;
-    Action: TWIZAddKeyAction;
-  end;
-
-  { TExecuteOperationsModel }
-
-  TExecuteOperationsModel = class(TComponent)
-  public
-    type
-
-    { TExecuteOperationType }
-
-    TExecuteOperationType = (omtAccount, omtSendPasc, omtChangeKey, omtTransferAccount, omtChangeAccountPrivateKey, omtAddKey, omtEnlistAccountForSale);
-
-    { TPayloadEncryptionMode }
-
-    TPayloadEncryptionMode = (akaEncryptWithSender, akaEncryptWithReceiver, akaEncryptWithPassword, akaNotEncrypt);
-
-    { TOperationSigningMode }
-
-    TOperationSigningMode = (akaPrimary, akaSecondary);
-
-    { TChangeKeyMode }
-
-    TChangeKeyMode = (akaTransferAccountOwnership, akaChangeAccountPrivateKey);
-
-    { TSendPASCMode }
-
-    TSendPASCMode = (akaAllBalance, akaSpecifiedAmount);
-
-    { TAccountSaleMode }
-    TAccountSaleMode = (akaPublicSale, akaPrivateSale);
-
-    { TOperationExecuteResultHandler }
-
-    TOperationExecuteResultHandler =
-    procedure(const ASourceAccount: TAccount; AOpType: TExecuteOperationType; const AOpText: ansistring; Result: boolean; const Message: ansistring) of object;
-
-
-    { TAccountModel }
-
-    TAccountModel = class(TComponent)
-    public
-      SelectedAccounts: TArray<TAccount>;
-    end;
-
-    { TSendPASCModel }
-
-    TSendPASCModel = class(TComponent)
-    public
-      SingleAmountToSend: int64;
-      DestinationAccount: TAccount;
-      SendPASCMode: TSendPASCMode;
-    end;
-
-    { TChangeKeyModel }
-
-    TChangeKeyModel = class(TComponent)
-    public
-      ChangeKeyMode: TChangeKeyMode;
-    end;
-
-    { TTransferAccountModel }
-
-    TTransferAccountModel = class(TComponent)
-    public
-      AccountKey: TAccountKey;
-    end;
-
-    { TChangeAccountPrivateKeyModel }
-
-    TChangeAccountPrivateKeyModel = class(TComponent)
-    public
-      SelectedIndex: integer;
-      NewWalletKey: TWalletKey;
-    end;
-
-    { TWIZEnlistAccountForSaleModel }
-    TEnlistAccountForSaleModel = class(TComponent)
-    public
-      SalePrice: int64;
-      NewOwnerPublicKey: TAccountKey;
-      LockedUntilBlock: cardinal;
-      SellerAccount: TAccount;
-      AccountSaleMode: TAccountSaleMode;
-    end;
-
-    { TFeeModel }
-
-    TFeeModel = class(TComponent)
-    public
-      DefaultFee, SingleOperationFee: int64;
-    end;
-
-    { TSignerModel }
-
-    TSignerModel = class(TComponent)
-    public
-      OperationSigningMode: TOperationSigningMode;
-      SignerAccount: TAccount;
-      SignerCandidates: TArray<TAccount>;
-      SelectedIndex: integer;
-    end;
-
-    { TPayloadModel }
-
-    TPayloadModel = class(TComponent)
-    public
-      HasPayload: boolean;
-      Content, Password: string;
-      PayloadEncryptionMode: TPayloadEncryptionMode;
-      EncodedBytes: TRawBytes;
-    end;
-
-  private
-    FExecuteOperationType: TExecuteOperationType;
-    FAccount: TAccountModel;
-    FSendPASC: TSendPASCModel;
-    FChangeKey: TChangeKeyModel;
-    FTransferAccount: TTransferAccountModel;
-    FChangeAccountPrivateKey: TChangeAccountPrivateKeyModel;
-    FEnlistAccountForSale: TEnlistAccountForSaleModel;
-    FFee: TFeeModel;
-    FSigner: TSignerModel;
-    FPayload: TPayloadModel;
-  public
-    constructor Create(AOwner: TComponent; AType: TExecuteOperationType); overload;
-    property ExecuteOperationType: TExecuteOperationType read FExecuteOperationType;
-    property Account: TAccountModel read FAccount;
-    property SendPASC: TSendPASCModel read FSendPASC;
-    property ChangeKey: TChangeKeyModel read FChangeKey;
-    property TransferAccount: TTransferAccountModel read FTransferAccount;
-    property ChangeAccountPrivateKey: TChangeAccountPrivateKeyModel read FChangeAccountPrivateKey;
-    property EnlistAccountForSale: TEnlistAccountForSaleModel read FEnlistAccountForSale;
-    property Fee: TFeeModel read FFee;
-    property Signer: TSignerModel read FSigner;
-    property Payload: TPayloadModel read FPayload;
-  end;
-
-implementation
-
-constructor TExecuteOperationsModel.Create(AOwner: TComponent; AType: TExecuteOperationsModel.TExecuteOperationType);
-begin
-  inherited Create(AOwner);
-  FExecuteOperationType := AType;
-  FAccount := TAccountModel.Create(Self);
-  FSendPASC := TSendPASCModel.Create(Self);
-  FChangeKey := TChangeKeyModel.Create(Self);
-  FTransferAccount := TTransferAccountModel.Create(Self);
-  FChangeAccountPrivateKey := TChangeAccountPrivateKeyModel.Create(Self);
-  FEnlistAccountForSale := TEnlistAccountForSaleModel.Create(Self);
-  FFee := TFeeModel.Create(Self);
-  FSigner := TSignerModel.Create(Self);
-  FPayload := TPayloadModel.Create(Self);
-end;
-
-end.

+ 1 - 1
src/gui/UCTRLWallet.pas

@@ -93,7 +93,7 @@ implementation
 
 uses
   UUserInterface, UCellRenderers, UBlockChain, UWallet, UCrypto,
-  UCommon, UMemory, Generics.Defaults, UCommon.Data, UCommon.Collections, UDataObjects;
+  UCommon, UMemory, Generics.Defaults, UCommon.Data, UCommon.Collections;
 
 {$R *.lfm}
 

+ 1 - 1
src/gui/UFRMWalletKeys.pas

@@ -90,7 +90,7 @@ implementation
 
 {$R *.lfm}
 
-uses LCLIntf, Clipbrd, UUserInterface, USettings, UCommon, UDataObjects, UAccounts, UWIZAddKey, UMemory;
+uses LCLIntf, Clipbrd, UUserInterface, USettings, UCommon, UAccounts, UWIZAddKey, UMemory;
 
 {%region Form life-cycle}
 

+ 1 - 1
src/gui/wizards/operations/UWIZChangeKey.pas

@@ -15,7 +15,7 @@ unit UWIZChangeKey;
 interface
 
 uses
-  Classes, SysUtils, Forms, Dialogs, UCrypto, UCommon, UWizard, UAccounts, LCLType, UDataObjects;
+  Classes, SysUtils, Forms, Dialogs, UCrypto, UCommon, UWizard, UAccounts, UCoreObjects, LCLType;
 
 type
 

+ 2 - 2
src/gui/wizards/operations/UWIZChangeKey_EnterKey.pas

@@ -18,8 +18,8 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
-  UFRMAccountSelect, UNode, UWizard, UWIZOperationFee_Custom, UWIZOperationPayload_Encryption, UWIZOperationSigner_Select,
-  UDataObjects;
+  UFRMAccountSelect, UNode, UCoreObjects, UWizard,
+  UWIZOperationFee_Custom, UWIZOperationPayload_Encryption, UWIZOperationSigner_Select;
 
 type
 

+ 2 - 2
src/gui/wizards/operations/UWIZChangeKey_SelectKey.pas

@@ -18,8 +18,8 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
-  UFRMAccountSelect, UNode, UWizard, UWIZOperationFee_Custom, UWIZOperationSigner_Select, UWIZOperationPayload_Encryption,
-  UDataObjects;
+  UFRMAccountSelect, UNode, UWizard, UCoreObjects,
+  UWIZOperationFee_Custom, UWIZOperationSigner_Select, UWIZOperationPayload_Encryption;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZChangeKey_SelectOption.pas

@@ -17,7 +17,7 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  ExtCtrls, UWizard, UDataObjects, UWIZChangeKey_EnterKey, UWIZChangeKey_SelectKey;
+  ExtCtrls, UCoreObjects, UWizard, UWIZChangeKey_EnterKey, UWIZChangeKey_SelectKey;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZEnlistAccountForSale.pas

@@ -15,7 +15,7 @@ unit UWIZEnlistAccountForSale;
 interface
 
 uses
-  Classes, SysUtils, Forms, Dialogs, UCrypto, UCommon, UWizard, UAccounts, UDataObjects, LCLType;
+  Classes, SysUtils, Forms, Dialogs, UCrypto, UCommon, UWizard, UAccounts, UCoreObjects, LCLType;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZEnlistAccountForSale_EnterLockingBlock.pas

@@ -13,7 +13,7 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  ExtCtrls, Buttons, UWizard, UDataObjects, UWIZEnlistAccountForSale_EnterSeller;
+  ExtCtrls, Buttons, UWizard, UCoreObjects, UWIZEnlistAccountForSale_EnterSeller;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZEnlistAccountForSale_EnterPublicKey.pas

@@ -13,7 +13,7 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  ExtCtrls, Buttons, UWizard, UDataObjects, UWIZEnlistAccountForSale_EnterLockingBlock;
+  ExtCtrls, Buttons, UCoreObjects, UWizard, UWIZEnlistAccountForSale_EnterLockingBlock;
 
 type
 

+ 2 - 2
src/gui/wizards/operations/UWIZEnlistAccountForSale_EnterSaleAmount.pas

@@ -17,8 +17,8 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
-  UFRMAccountSelect, UNode, UWizard, UWIZOperationFee_Custom, UWIZOperationPayload_Encryption, UWIZOperationSigner_Select, UDataObjects;
+  ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet, UCoreObjects,
+  UFRMAccountSelect, UNode, UWizard, UWIZOperationFee_Custom, UWIZOperationPayload_Encryption, UWIZOperationSigner_Select;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZEnlistAccountForSale_EnterSeller.pas

@@ -18,7 +18,7 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
-  UFRMAccountSelect, UNode, UWizard, UDataObjects;
+  UFRMAccountSelect, UNode, UWizard, UCoreObjects;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZEnlistAccountForSale_SelectOption.pas

@@ -13,7 +13,7 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  ExtCtrls, UWizard, UDataObjects, UWIZEnlistAccountForSale_EnterPublicKey;
+  ExtCtrls, UWizard, UCoreObjects, UWIZEnlistAccountForSale_EnterPublicKey;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZOperationConfirmation.pas

@@ -17,7 +17,7 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  ExtCtrls, UVisualGrid, UCellRenderers, UCommon.Data, UWizard, UDataObjects;
+  ExtCtrls, UVisualGrid, UCellRenderers, UCommon.Data, UWizard, UCoreObjects;
 
 type
 

+ 2 - 2
src/gui/wizards/operations/UWIZOperationFee_Custom.pas

@@ -17,8 +17,8 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  ExtCtrls, Buttons, Spin, UCommon, UCommon.Collections, UWallet,
-  UFRMAccountSelect, UNode, UWizard, UWIZOperationPayload_Encryption, UWIZOperationSigner_Select, UDataObjects;
+  ExtCtrls, Buttons, Spin, UCommon, UCommon.Collections, UWallet, UCoreObjects,
+  UFRMAccountSelect, UNode, UWizard, UWIZOperationPayload_Encryption, UWIZOperationSigner_Select;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZOperationPayload_Content.pas

@@ -18,7 +18,7 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections,
-  UWizard, UWIZOperationSigner_Select, UDataObjects;
+  UWizard, UWIZOperationSigner_Select, UCoreObjects;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZOperationPayload_Encryption.pas

@@ -18,7 +18,7 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections,
-  UWizard, UWIZOperationPayload_Content, UWIZOperationPayload_Password, UDataObjects;
+  UWizard, UWIZOperationPayload_Content, UWIZOperationPayload_Password, UCoreObjects;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZOperationPayload_Password.pas

@@ -18,7 +18,7 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections,
-  UWizard, UWIZOperationSigner_Select, UDataObjects;
+  UWizard, UWIZOperationSigner_Select, UCoreObjects;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZOperationSelected.pas

@@ -17,7 +17,7 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, UVisualGrid, UCommon.Data, UCellRenderers,
-  UWizard, UDataObjects;
+  UWizard, UCoreObjects;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZOperationSigner_Select.pas

@@ -18,7 +18,7 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
-  UFRMAccountSelect, UNode, UWizard, UDataObjects;
+  UFRMAccountSelect, UNode, UWizard, UCoreObjects;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZSendPASC.pas

@@ -15,7 +15,7 @@ unit UWIZSendPASC;
 interface
 
 uses
-  Classes, SysUtils, Forms, Dialogs, UWizard, UCommon, UDataObjects;
+  Classes, SysUtils, Forms, Dialogs, UWizard, UCommon, UCoreObjects;
 
 type
 

+ 1 - 1
src/gui/wizards/operations/UWIZSendPASC_EnterQuantity.pas

@@ -19,7 +19,7 @@ uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
   UFRMAccountSelect, UNode, UWizard, UWIZSendPASC, UWIZOperationFee_Custom, UWIZOperationPayload_Encryption,
-  UWIZOperationSigner_Select, UDataObjects;
+  UWIZOperationSigner_Select, UCoreObjects;
 
 type
 

+ 2 - 2
src/gui/wizards/operations/UWIZSendPASC_EnterRecipient.pas

@@ -17,8 +17,8 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
-  UFRMAccountSelect, UNode, UWizard, UWIZSendPASC, UWIZSendPASC_EnterQuantity, UCoreUtils, UDataObjects;
+  ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet, UCoreObjects,
+  UFRMAccountSelect, UNode, UWizard, UWIZSendPASC, UWIZSendPASC_EnterQuantity, UCoreUtils;
 
 type
 

+ 17 - 1
src/gui/wizards/wallet/UWIZAddKey.pas

@@ -11,10 +11,26 @@ unit UWIZAddKey;
 interface
 
 uses
-  Classes, SysUtils, Forms, UWizard, UDataObjects;
+  Classes, SysUtils, Forms, UWizard, UCoreObjects;
 
 type
 
+  { TWIZAddKeyAction }
+
+  TWIZAddKeyAction = (akaGenerateKey, akaImportPrivateKey, akaImportPublicKey);
+
+
+  { TWIZAddKeyModel }
+
+  TWIZAddKeyModel = class(TComponent)
+  public
+    Name: string;
+    KeyText: string;
+    Password: string;
+    EncryptionTypeNID: word;
+    Action: TWIZAddKeyAction;
+  end;
+
   { TWIZAddKeyWizard }
 
   TWIZAddKeyWizard = class(TWizard<TWIZAddKeyModel>)

+ 1 - 1
src/gui/wizards/wallet/UWIZAddKey_EnterName.pas

@@ -12,7 +12,7 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  ExtCtrls, UWizard, UWIZAddKey, UDataObjects;
+  ExtCtrls, UWizard, UWIZAddKey, UCoreObjects;
 
 type
 

+ 1 - 1
src/gui/wizards/wallet/UWIZAddKey_GenerateOrImport.pas

@@ -12,7 +12,7 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  UWizard, UWIZAddKey, UDataObjects;
+  UWizard, UWIZAddKey, UCoreObjects;
 
 type
 

+ 1 - 1
src/gui/wizards/wallet/UWIZAddKey_ImportPrivKey.pas

@@ -12,7 +12,7 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  UWizard, UWIZAddKey, UDataObjects;
+  UWizard, UWIZAddKey, UCoreObjects;
 
 type
 

+ 1 - 1
src/gui/wizards/wallet/UWIZAddKey_ImportPubKey.pas

@@ -12,7 +12,7 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  UWizard, UWIZAddKey, UDataObjects;
+  UWizard, UWIZAddKey, UCoreObjects;
 
 type
 

+ 1 - 1
src/gui/wizards/wallet/UWIZAddKey_SelectEncryption.pas

@@ -5,7 +5,7 @@ unit UWIZAddKey_SelectEncryption;
 interface
 
 uses
-  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, UWizard, UWIZAddKey, UDataObjects;
+  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, UWizard, UWIZAddKey, UCoreObjects;
 
 type
 

+ 1 - 1
src/gui/wizards/wallet/UWIZAddKey_Start.pas

@@ -12,7 +12,7 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  UWizard, UWIZAddKey, UDataObjects;
+  UWizard, UWIZAddKey, UCoreObjects;
 
 type
 

+ 58 - 62
src/pascalcoin_wallet.lpi

@@ -36,7 +36,7 @@
         <PackageName Value="LCL"/>
       </Item2>
     </RequiredPackages>
-    <Units Count="95">
+    <Units Count="94">
       <Unit0>
         <Filename Value="pascalcoin_wallet.dpr"/>
         <IsPartOfProject Value="True"/>
@@ -357,194 +357,190 @@
         <IsPartOfProject Value="True"/>
       </Unit64>
       <Unit65>
-        <Filename Value="gui\wizards\UWIZModels.pas"/>
+        <Filename Value="gui\wizards\wallet\UWIZAddKey.pas"/>
         <IsPartOfProject Value="True"/>
       </Unit65>
       <Unit66>
-        <Filename Value="gui\wizards\wallet\UWIZAddKey.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit66>
-      <Unit67>
         <Filename Value="gui\wizards\wallet\UWIZAddKey_EnterName.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZAddKey_EnterName"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit67>
-      <Unit68>
+      </Unit66>
+      <Unit67>
         <Filename Value="gui\wizards\wallet\UWIZAddKey_GenerateOrImport.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZAddKey_GenerateOrImport"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit68>
-      <Unit69>
+      </Unit67>
+      <Unit68>
         <Filename Value="gui\wizards\wallet\UWIZAddKey_ImportPrivKey.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZAddKey_ImportPrivKey"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit69>
-      <Unit70>
+      </Unit68>
+      <Unit69>
         <Filename Value="gui\wizards\wallet\UWIZAddKey_ImportPubKey.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZAddKey_ImportPubKey"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit70>
-      <Unit71>
+      </Unit69>
+      <Unit70>
         <Filename Value="gui\wizards\wallet\UWIZAddKey_SelectEncryption.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZAddKey_SelectEncryption"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit71>
-      <Unit72>
+      </Unit70>
+      <Unit71>
         <Filename Value="gui\wizards\wallet\UWIZAddKey_Start.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZAddKey_Start"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit72>
-      <Unit73>
+      </Unit71>
+      <Unit72>
         <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale.pas"/>
         <IsPartOfProject Value="True"/>
-      </Unit73>
-      <Unit74>
+      </Unit72>
+      <Unit73>
         <Filename Value="gui\wizards\operations\UWIZOperationFee_Custom.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZOperationFee_Custom"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit74>
-      <Unit75>
+      </Unit73>
+      <Unit74>
         <Filename Value="gui\wizards\operations\UWIZOperationPayload_Content.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZOperationPayload_Content"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit75>
-      <Unit76>
+      </Unit74>
+      <Unit75>
         <Filename Value="gui\wizards\operations\UWIZOperationPayload_Encryption.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZOperationPayload_Encryption"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit76>
-      <Unit77>
+      </Unit75>
+      <Unit76>
         <Filename Value="gui\wizards\operations\UWIZOperationPayload_Password.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZOperationPayload_Password"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit77>
-      <Unit78>
+      </Unit76>
+      <Unit77>
         <Filename Value="gui\wizards\operations\UWIZOperationSigner_Select.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZOperationSigner_Select"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit78>
-      <Unit79>
+      </Unit77>
+      <Unit78>
         <Filename Value="gui\wizards\operations\UWIZSendPASC.pas"/>
         <IsPartOfProject Value="True"/>
-      </Unit79>
-      <Unit80>
+      </Unit78>
+      <Unit79>
         <Filename Value="gui\wizards\operations\UWIZSendPASC_EnterQuantity.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZSendPASC_EnterQuantity"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit80>
-      <Unit81>
+      </Unit79>
+      <Unit80>
         <Filename Value="gui\wizards\operations\UWIZSendPASC_EnterRecipient.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZSendPASC_EnterRecipient"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit81>
-      <Unit82>
+      </Unit80>
+      <Unit81>
         <Filename Value="gui\wizards\operations\UWIZChangeKey.pas"/>
         <IsPartOfProject Value="True"/>
-      </Unit82>
-      <Unit83>
+      </Unit81>
+      <Unit82>
         <Filename Value="gui\wizards\operations\UWIZChangeKey_SelectOption.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZChangeKey_SelectOption"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit83>
-      <Unit84>
+      </Unit82>
+      <Unit83>
         <Filename Value="gui\wizards\operations\UWIZChangeKey_EnterKey.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZChangeKey_EnterKey"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit84>
-      <Unit85>
+      </Unit83>
+      <Unit84>
         <Filename Value="gui\wizards\operations\UWIZChangeKey_SelectKey.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZChangeKey_SelectKey"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit85>
-      <Unit86>
+      </Unit84>
+      <Unit85>
         <Filename Value="gui-classic\UGridUtils.pas"/>
         <IsPartOfProject Value="True"/>
-      </Unit86>
-      <Unit87>
+      </Unit85>
+      <Unit86>
         <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_EnterSeller.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZEnlistAccountForSale_EnterSeller"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit87>
-      <Unit88>
+      </Unit86>
+      <Unit87>
         <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_EnterSaleAmount.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZEnlistAccountForSale_EnterSaleAmount"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit88>
-      <Unit89>
+      </Unit87>
+      <Unit88>
         <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_SelectOption.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZEnlistAccountForSale_SelectOption"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit89>
-      <Unit90>
+      </Unit88>
+      <Unit89>
         <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_EnterLockingBlock.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZEnlistAccountForSale_EnterLockingBlock"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit90>
-      <Unit91>
+      </Unit89>
+      <Unit90>
         <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_EnterPublicKey.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZEnlistAccountForSale_EnterPublicKey"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit91>
-      <Unit92>
+      </Unit90>
+      <Unit91>
         <Filename Value="core.utils\UCoreObjects.pas"/>
         <IsPartOfProject Value="True"/>
-      </Unit92>
-      <Unit93>
+      </Unit91>
+      <Unit92>
         <Filename Value="gui\wizards\operations\UWIZOperationConfirmation.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZOperationConfirmation"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit93>
-      <Unit94>
+      </Unit92>
+      <Unit93>
         <Filename Value="gui\wizards\operations\UWIZOperationSelected.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZOperationSelected"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit94>
+      </Unit93>
     </Units>
   </ProjectOptions>
   <CompilerOptions>
@@ -555,7 +551,7 @@
     </Target>
     <SearchPaths>
       <IncludeFiles Value="$(ProjOutDir);libraries\generics.collections\inc"/>
-      <OtherUnitFiles Value="core;gui;gui\wizards;libraries\synapse;libraries\sphere10;libraries\generics.collections;libraries\pascalcoin;core.utils;gui\wizards\wallet;gui\wizards\operations;gui-classic"/>
+      <OtherUnitFiles Value="core;gui;libraries\synapse;libraries\sphere10;libraries\generics.collections;libraries\pascalcoin;core.utils;gui\wizards\wallet;gui\wizards\operations;gui-classic"/>
       <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
     </SearchPaths>
     <Parsing>

BIN
src/pascalcoin_wallet_classic.res