Skip to content

Commit

Permalink
Extension lib to add more useful API, stub post mopup
Browse files Browse the repository at this point in the history
  • Loading branch information
kfrancis committed May 27, 2023
1 parent 357c2d7 commit 3a64356
Show file tree
Hide file tree
Showing 77 changed files with 675 additions and 1,886 deletions.
25 changes: 17 additions & 8 deletions All.sln
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NostrKey", "src\NostrKey\No
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuSocial", "src\NuSocial\NuSocial.csproj", "{4ACB6AB9-E3C6-466E-928C-D763FAFC0BF4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuSocial.Blazor", "src\NuSocial.Blazor\NuSocial.Blazor.csproj", "{75519B3B-DA14-44B4-AC66-674909C359AA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuSocial.Core", "src\NuSocial.Core\NuSocial.Core.csproj", "{979FB1C3-D08C-4F33-A1AD-43D82B9049D3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NostrClient.Helpers", "src\NostrClient.Helpers\NostrClient.Helpers.csproj", "{DF270C14-E03E-48F6-8C6F-62C7EACF840F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{C70613A8-4B35-4CF3-87F8-FDECB34DF89C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NostrClient.Helpers.Tests", "tests\NostrClient.Helpers.Tests\NostrClient.Helpers.Tests.csproj", "{FCF36045-186D-4F3C-9437-C37730D728EE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand All @@ -38,20 +42,25 @@ Global
{4ACB6AB9-E3C6-466E-928C-D763FAFC0BF4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4ACB6AB9-E3C6-466E-928C-D763FAFC0BF4}.Release|Any CPU.Build.0 = Release|Any CPU
{4ACB6AB9-E3C6-466E-928C-D763FAFC0BF4}.Release|Any CPU.Deploy.0 = Release|Any CPU
{75519B3B-DA14-44B4-AC66-674909C359AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{75519B3B-DA14-44B4-AC66-674909C359AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{75519B3B-DA14-44B4-AC66-674909C359AA}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{75519B3B-DA14-44B4-AC66-674909C359AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{75519B3B-DA14-44B4-AC66-674909C359AA}.Release|Any CPU.Build.0 = Release|Any CPU
{75519B3B-DA14-44B4-AC66-674909C359AA}.Release|Any CPU.Deploy.0 = Release|Any CPU
{979FB1C3-D08C-4F33-A1AD-43D82B9049D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{979FB1C3-D08C-4F33-A1AD-43D82B9049D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{979FB1C3-D08C-4F33-A1AD-43D82B9049D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{979FB1C3-D08C-4F33-A1AD-43D82B9049D3}.Release|Any CPU.Build.0 = Release|Any CPU
{DF270C14-E03E-48F6-8C6F-62C7EACF840F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DF270C14-E03E-48F6-8C6F-62C7EACF840F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DF270C14-E03E-48F6-8C6F-62C7EACF840F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DF270C14-E03E-48F6-8C6F-62C7EACF840F}.Release|Any CPU.Build.0 = Release|Any CPU
{FCF36045-186D-4F3C-9437-C37730D728EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FCF36045-186D-4F3C-9437-C37730D728EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FCF36045-186D-4F3C-9437-C37730D728EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FCF36045-186D-4F3C-9437-C37730D728EE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{FCF36045-186D-4F3C-9437-C37730D728EE} = {C70613A8-4B35-4CF3-87F8-FDECB34DF89C}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D77DACFE-6915-462B-9046-93E1D629CDE7}
EndGlobalSection
Expand Down
86 changes: 86 additions & 0 deletions src/NostrClient.Helpers/ClientExtensions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
using Nostr.Client.Client;
using Nostr.Client.Keys;
using Nostr.Client.Messages;
using Nostr.Client.Requests;

namespace NostrClient.Helpers
{
/// <summary>
/// Extensions for INostrClient
/// </summary>
public static class ClientExtensions
{
/// <summary>
/// Send a note
/// </summary>
/// <param name="client"></param>
/// <param name="senderPrivBech"></param>
/// <param name="message"></param>
public static void Send(this INostrClient client, string senderPrivBech, string message)
{
var key = NostrPrivateKey.FromBech32(senderPrivBech);
client.Send(key, message);
}

/// <summary>
/// Send a note
/// </summary>
/// <param name="client"></param>
/// <param name="senderPriv"></param>
/// <param name="message"></param>
public static void Send(this INostrClient client, NostrPrivateKey senderPriv, string message)
{
var ev = new NostrEvent
{
Kind = NostrKind.ShortTextNote,
CreatedAt = DateTime.UtcNow,
Content = message
};

var signed = ev.Sign(senderPriv);

client.Send(new NostrEventRequest(signed));
}

/// <summary>
/// Send an encrypted message
/// </summary>
/// <param name="client"></param>
/// <param name="senderPrivBech"></param>
/// <param name="receiverPubBech"></param>
/// <param name="message"></param>
public static void SendEncrypted(this INostrClient client, string senderPrivBech, string receiverPubBech, string message)
{
var sender = NostrPrivateKey.FromBech32(senderPrivBech);
var receiver = NostrPublicKey.FromBech32(receiverPubBech);

client.SendEncrypted(sender, receiver, message);
}

/// <summary>
/// Send an encrypted message
/// </summary>
/// <param name="client"></param>
/// <param name="sender"></param>
/// <param name="receiver"></param>
/// <param name="message"></param>
public static void SendEncrypted(this INostrClient client, NostrPrivateKey sender, NostrPublicKey receiver, string message)
{
var ev = new NostrEvent
{
CreatedAt = DateTime.UtcNow,
Content = message
};

var encrypted = ev.EncryptDirect(sender, receiver);
var signed = encrypted.Sign(sender);

client.Send(new NostrEventRequest(signed));
}

public static void SendZap(this INostrClient client)
{

}
}
}
13 changes: 13 additions & 0 deletions src/NostrClient.Helpers/NostrClient.Helpers.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Nostr.Client" Version="1.4.0" />
</ItemGroup>

</Project>
26 changes: 0 additions & 26 deletions src/NuSocial.Blazor/App.xaml

This file was deleted.

12 changes: 0 additions & 12 deletions src/NuSocial.Blazor/App.xaml.cs

This file was deleted.

13 changes: 0 additions & 13 deletions src/NuSocial.Blazor/Data/WeatherForecast.cs

This file was deleted.

20 changes: 0 additions & 20 deletions src/NuSocial.Blazor/Data/WeatherForecastService.cs

This file was deleted.

11 changes: 0 additions & 11 deletions src/NuSocial.Blazor/Main.razor

This file was deleted.

14 changes: 0 additions & 14 deletions src/NuSocial.Blazor/MainPage.xaml

This file was deleted.

10 changes: 0 additions & 10 deletions src/NuSocial.Blazor/MainPage.xaml.cs

This file was deleted.

32 changes: 0 additions & 32 deletions src/NuSocial.Blazor/MauiProgram.cs

This file was deleted.

60 changes: 0 additions & 60 deletions src/NuSocial.Blazor/NuSocial.Blazor.csproj

This file was deleted.

16 changes: 0 additions & 16 deletions src/NuSocial.Blazor/Pages/Counter.razor

This file was deleted.

Loading

0 comments on commit 3a64356

Please sign in to comment.