Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
538e5b4
Fix: P/Invokes should not be visible (#4003)
Wi1l-B0t Jun 16, 2025
14a7c22
[Optimization] - Optimize key method (#4001)
ajara87 Jun 18, 2025
5a01a56
Fix Threading hanging with `NeoSystem` (#4005)
cschuchardt88 Jun 18, 2025
f864e8a
Style: unify json init style (#4004)
Wi1l-B0t Jun 18, 2025
0dad015
Update packages (#4006)
shargon Jun 19, 2025
1ebd85d
Restore DBFTPlugin Unit Tests (ConsensusService and Consensus Context…
vncoelho Jun 20, 2025
6d59406
Style: move MPT Benchamrk Project to benchmarks/ (#4011)
Wi1l-B0t Jun 21, 2025
6d711c0
[`improve`] nullable app logs (#4008)
shargon Jun 21, 2025
67915b2
Fix: remove FluentAssertions in notary tests (#4014)
Wi1l-B0t Jun 21, 2025
7036374
Add: SignClient Vsock support (#4002)
Wi1l-B0t Jun 23, 2025
6c7f6c4
Comments: add Exception info for numeric ops (#4021)
Wi1l-B0t Jun 25, 2025
cb56508
Isolate ApplicationEngine events (#4016)
shargon Jun 28, 2025
4790594
Cache nuget packages (#4034)
shargon Jun 30, 2025
e5229fe
Style: more standard code style for Neo.VM (#4022)
Wi1l-B0t Jun 30, 2025
6c35bf8
Optimize: more semantics description and better impl for 'TestBit(thi…
Wi1l-B0t Jun 30, 2025
852771d
Improve exception messages throughout Neo codebase (#4032)
Jun 30, 2025
0c268ea
Optimize: impl `GetLowestSetBit` by `TrailingZeroCount` if available …
Wi1l-B0t Jun 30, 2025
37d3b3b
[`style`] Style neo system (#4040)
shargon Jul 1, 2025
31dea06
Refactor MainService.Vote class (#4036)
ajara87 Jul 3, 2025
c52eb34
Doc: add document for plugin SignClient (#4049)
Wi1l-B0t Jul 6, 2025
e74abfd
[`Fix`] RcpClient Directories and Naming (#4046)
cschuchardt88 Jul 7, 2025
2943818
Optimize: no secaped char for command line input (#4044)
Wi1l-B0t Jul 7, 2025
1328bb4
Fix: tx.ToJson no 'cosigners' field (#4051)
Wi1l-B0t Jul 7, 2025
cfba43d
Fix: not matched error code if argument is null with RpcMethodWithPar…
Wi1l-B0t Jul 13, 2025
7991b5e
Renamed and Fix Properties with plugins (#4062)
cschuchardt88 Jul 13, 2025
3e63b2f
[`Add`] Indexer to EvaluationStack (#4050)
cschuchardt88 Jul 13, 2025
e37e142
Comments: Add detail description for RPC Method (#4054)
Wi1l-B0t Jul 13, 2025
c330319
[`Add`] `TryCatch` & `TryCatchThrow` Extensions (#4038)
cschuchardt88 Jul 14, 2025
a0f5ed0
Add: input cli command line with `--argument-name argument-value` (#4…
Wi1l-B0t Jul 14, 2025
5bdb4c4
Optimize: more detail for help command (#4067)
Wi1l-B0t Jul 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ dotnet_diagnostic.IDE0251.severity = warning
dotnet_diagnostic.IDE0044.severity = warning

dotnet_diagnostic.CS1591.severity = silent
// Use primary constructor
csharp_style_prefer_primary_constructors = false

# Sort using and Import directives with System.* appearing first
dotnet_sort_system_directives_first = false
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,13 @@ jobs:
with:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Cache NuGet packages
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key : ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: ${{ runner.os }}-nuget-

- name: Check Format (*.cs)
run: dotnet format --verify-no-changes --verbosity diagnostic

Expand All @@ -37,6 +44,13 @@ jobs:
with:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Cache NuGet packages
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key : ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: ${{ runner.os }}-nuget-

- name: Build (Everything)
run: dotnet build --disable-parallel -p:GITHUB_ACTIONS=true

Expand Down Expand Up @@ -65,6 +79,13 @@ jobs:
with:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Cache NuGet packages
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key : ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: ${{ runner.os }}-nuget-

- name: Test (MacOS)
if: matrix.os == 'macos-latest'
run: |
Expand Down Expand Up @@ -109,6 +130,7 @@ jobs:
${{ github.workspace }}/TestResults/Neo.Json.UnitTests/coverage.info
${{ github.workspace }}/TestResults/Neo.Cryptography.MPTTrie.Tests/coverage.info
${{ github.workspace }}/TestResults/Neo.Network.RPC.Tests/coverage.info
${{ github.workspace }}/TestResults/Neo.Plugins.DBFTPlugin.Tests/coverage.info
${{ github.workspace }}/TestResults/Neo.Plugins.OracleService.Tests/coverage.info
${{ github.workspace }}/TestResults/Neo.Plugins.RpcServer.Tests/coverage.info
${{ github.workspace }}/TestResults/Neo.Plugins.Storage.Tests/coverage.info
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/Neo.Benchmarks/Neo.Benchmarks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="System.IO.Hashing" Version="9.0.1" />
<PackageReference Include="System.IO.Hashing" Version="9.0.6" />
<ProjectReference Include="..\..\src\Neo\Neo.csproj" />
<ProjectReference Include="..\..\src\Plugins\LevelDBStore\LevelDBStore.csproj" />
<PackageReference Include="BenchmarkDotNet" Version="0.14.0" />
<PackageReference Include="BenchmarkDotNet" Version="0.15.2" />
</ItemGroup>

<ItemGroup>
Expand Down
50 changes: 50 additions & 0 deletions benchmarks/Neo.Cryptography.MPTTrie.Benchmarks/Benchmarks.Cache.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
// Copyright (C) 2015-2025 The Neo Project.
//
// Benchmarks.Cache.cs file belongs to the neo project and is free
// software distributed under the MIT software license, see the
// accompanying file LICENSE in the main directory of the
// repository or http://www.opensource.org/licenses/mit-license.php
// for more details.
//
// Redistribution and use in source and binary forms with or without
// modifications are permitted.

using BenchmarkDotNet.Attributes;

namespace Neo.Cryptography.MPTTrie.Benchmarks
{
public class Benchmarks_Cache
{
private readonly byte _prefix = 0x01;
private readonly UInt256 _hash;

public Benchmarks_Cache()
{
var randomBytes = new byte[UInt256.Length];
new Random(42).NextBytes(randomBytes);
_hash = new UInt256(randomBytes);
}

[Benchmark]
public byte[] Key_Original()
{
var buffer = new byte[UInt256.Length + 1];
using (var ms = new MemoryStream(buffer, true))
using (var writer = new BinaryWriter(ms))
{
writer.Write(_prefix);
_hash.Serialize(writer);
}
return buffer;
}

[Benchmark]
public byte[] Key_Optimized()
{
var buffer = new byte[UInt256.Length + 1];
buffer[0] = _prefix;
_hash.GetSpan().CopyTo(buffer.AsSpan(1));
return buffer;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="BenchmarkDotNet" Version="0.15.2" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\src\Neo\Neo.csproj" />
</ItemGroup>

</Project>
23 changes: 23 additions & 0 deletions benchmarks/Neo.Cryptography.MPTTrie.Benchmarks/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright (C) 2015-2025 The Neo Project.
//
// Program.cs file belongs to the neo project and is free
// software distributed under the MIT software license, see the
// accompanying file LICENSE in the main directory of the
// repository or http://www.opensource.org/licenses/mit-license.php
// for more details.
//
// Redistribution and use in source and binary forms with or without
// modifications are permitted.

using BenchmarkDotNet.Running;

// List all benchmarks:
// dotnet run -c Release --framework [for example: net9.0] -- --list flat(or tree)
// Run a specific benchmark:
// dotnet run -c Release --framework [for example: net9.0] -- -f [benchmark name]
// Run all benchmarks:
// dotnet run -c Release --framework [for example: net9.0] -- -f *
// Run all benchmarks of a class:
// dotnet run -c Release --framework [for example: net9.0] -- -f '*Class*'
// More options: https://benchmarkdotnet.org/articles/guides/console-args.html
BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args);
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

<ItemGroup>
<ProjectReference Include="..\..\src\Neo.Extensions\Neo.Extensions.csproj" />
<PackageReference Include="BenchmarkDotNet" Version="0.14.0" />
<PackageReference Include="BenchmarkDotNet" Version="0.15.2" />
</ItemGroup>

</Project>
6 changes: 3 additions & 3 deletions benchmarks/Neo.Json.Benchmarks/Data/RpcTestCases.json
Original file line number Diff line number Diff line change
Expand Up @@ -3628,7 +3628,7 @@
"netfee": "1272390",
"validuntilblock": 2105487,
"attributes": [],
"cosigners": [
"signers": [
{
"account": "0xcadb3dc2faa3ef14a13b619c9a43124755aa2569",
"scopes": "CalledByEntry"
Expand Down Expand Up @@ -3679,7 +3679,7 @@
"netfee": "2483780",
"validuntilblock": 2105494,
"attributes": [],
"cosigners": [
"signers": [
{
"account": "0x36d6200fb4c9737c7b552d2b5530ab43605c5869",
"scopes": "CalledByEntry"
Expand Down Expand Up @@ -3724,7 +3724,7 @@
"netfee": "2381780",
"validuntilblock": 2105500,
"attributes": [],
"cosigners": [
"signers": [
{
"account": "0xcadb3dc2faa3ef14a13b619c9a43124755aa2569",
"scopes": "CalledByEntry"
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/Neo.Json.Benchmarks/Neo.Json.Benchmarks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="BenchmarkDotNet" Version="0.14.0" />
<PackageReference Include="BenchmarkDotNet" Version="0.15.2" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>

Expand Down
2 changes: 1 addition & 1 deletion benchmarks/Neo.VM.Benchmarks/Neo.VM.Benchmarks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<ProjectReference Include="..\..\src\Neo.Extensions\Neo.Extensions.csproj" />
<ProjectReference Include="..\..\src\Neo.Json\Neo.Json.csproj" />
<ProjectReference Include="..\..\src\Neo.VM\Neo.VM.csproj" />
<PackageReference Include="BenchmarkDotNet" Version="0.14.0" />
<PackageReference Include="BenchmarkDotNet" Version="0.15.2" />
</ItemGroup>

</Project>
Loading