anchor.diff:      end;
     end;
   
  -  function SignDelistAccountForSaleColdWallet(Const HexaStringOperationsHashTree : TRawBytes; params : TPCJSONObject) : boolean;
  +  function SignDelistAccountForSaleColdWallet(Const HexaStringOperationsHashTree : AnsiString; params : TPCJSONObject) : boolean;
     var errors : AnsiString;
       OperationsHashTree : TOperationsHashTree;
       accountpubkey : TAccountKey;
  
positive.code:     end;
    end;
  
    // This function creates a TOpTransaction without looking for balance/private key of sender account
    // It assumes that sender,target,sender_last_n_operation,senderAccountKey and targetAccountKey are correct
    Function CreateOperationTransaction(current_protocol : Word; sender, target, sender_last_n_operation : Cardinal; amount, fee : UInt64;
      Const senderAccounKey, targetAccountKey : TAccountKey; Const RawPayload : TRawBytes;
      Const Payload_method, EncodePwd : AnsiString) : TOpTransaction;
    // "payload_method" types: "none","dest"(default),"sender","aes"(must provide "pwd" param)
    Var i : Integer;
      f_raw : TRawBytes;
    Begin
      Result := Nil;
      i := _RPCServer.FWalletKeys.IndexOfAccountKey(senderAccounKey);
      if i<0 then begin
        ErrorDesc:='Sender Public Key not found in wallet: '+TAccountComp.AccountPublicKeyExport(senderAccounKey);
        ErrorNum:=CT_RPC_ErrNum_InvalidPubKey;
        Exit;
      end;
      if (Not assigned(_RPCServer.FWalletKeys.Key[i].PrivateKey)) then begin
        if _RPCServer.FWalletKeys.Key[i].CryptedKey<>'' then begin
          // Wallet is password protected
          ErrorDesc := 'Wallet is password protected';
          ErrorNum := CT_RPC_ErrNum_WalletPasswordProtected;
        end else begin
          ErrorDesc := 'Wallet private key not found in Wallet';
          ErrorNum := CT_RPC_ErrNum_InvalidPubKey;
        end;
        exit;
      end;
      //
      if (length(RawPayload)>0) then begin
        if (Payload_method='none') then f_raw:=RawPayload
        else if (Payload_method='dest') then begin
          f_raw := ECIESEncrypt(targetAccountKey,RawPayload);
        end else if (Payload_method='sender') then begin
          f_raw := ECIESEncrypt(senderAccounKey,RawPayload);
        end else if (Payload_method='aes') then begin
          f_raw := TAESComp.EVP_Encrypt_AES256(RawPayload,EncodePwd);
        end else begin
          ErrorNum:=CT_RPC_ErrNum_InvalidOperation;
          ErrorDesc:='Invalid encode payload method: '+Payload_method;
          exit;
        end;
      end else f_raw := '';
      Result := TOpTransaction.CreateTransaction(current_protocol, sender,sender_last_n_operation+1,target,_RPCServer.FWalletKeys.Key[i].PrivateKey,amount,fee,f_raw);
      if Not Result.HasValidSignature then begin
        FreeAndNil(Result);
        ErrorNum:=CT_RPC_ErrNum_InternalError;
  
negative.code:           GetResultObject.GetAsVariant('unenc_hexpayload').Value:= TCrypto.ToHexaString(decrypted_payload);
            GetResultObject.GetAsVariant('payload_method').Value:= 'key';
            GetResultObject.GetAsVariant('enc_pubkey').Value:= TCrypto.ToHexaString(TAccountComp.AccountKey2RawString(pkey.PublicKey));
            Result := true;
            exit;
          end;
  