Skip to content

Commit 0dd6127

Browse files
cschuchardt88shargonchenzhitongJimmyNGDAdmin
authored
Merge Master into new-cli repo (#3556)
* Remove comments in `nuget.yml` (#3359) * Fixed Typo in `nuget.yml` * reverted for path * Fix: `MemPool` null checks (#3367) * Fix null error * Add [MaybeNullWhen(false)] * Update MemoryPool.cs * plugins: remove expressions that are always true (#3393) * this expression is always true * Improve --------- Co-authored-by: Shargon <[email protected]> * [**Part-1] Add `github` Release Workflow (#3308) * Added `release.yml` * Fixed `release.yml` * Remove `VersionPrefix` * Added macos leveldb * Fixed * Remove comments on the command-line * Fixed `CodeSign` `neo-cli` * Added steps for `codesign` in `release.yml` --------- Co-authored-by: Jimmy <[email protected]> Co-authored-by: NGD Admin <[email protected]> * cli: Fix `plugins` command (#3394) * Fix plugin list * Update src/Neo.CLI/CLI/MainService.Plugins.cs --------- Co-authored-by: NGD Admin <[email protected]> * Added blame logging for `dotnet test` (#3384) Co-authored-by: Jimmy <[email protected]> Co-authored-by: Shargon <[email protected]> * Fix download tips (#3395) * Added `release.yml` * Fixed `release.yml` * Remove `VersionPrefix` * Added macos leveldb * Fixed * Remove comments on the command-line * Fixed `CodeSign` `neo-cli` * Added steps for `codesign` in `release.yml` * Add downloading plugin tips * Change to ConsoleHelper * Move before first download --------- Co-authored-by: Christopher Schuchardt <[email protected]> Co-authored-by: Jimmy <[email protected]> Co-authored-by: NGD Admin <[email protected]> Co-authored-by: Shargon <[email protected]> * `DeprecatedIn` for events (#3362) * DeprecatedIn for events * Added UT * Remove using --------- Co-authored-by: Jimmy <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Fix crash when comparing ContractPermissionDescriptor (#3396) * Update ContractPermissionDescriptor.cs * Add UT --------- Co-authored-by: Fernando Diaz Toledano <[email protected]> Co-authored-by: Christopher Schuchardt <[email protected]> Co-authored-by: NGD Admin <[email protected]> * `[neo-cli]` Error Message and Warning - LevelDb (#3380) * Fixed warnings and error message for `libleveldb` missing * Update src/Neo.CLI/CLI/MainService.cs Co-authored-by: lingyido <[email protected]> --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: lingyido <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Fixed Props Pathing for `dotnet pack` with `nuget` (#3379) Co-authored-by: NGD Admin <[email protected]> * Part-1 `Neo.IO` - move (#3387) Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * `[Fix]` Test Problems (#3398) * Fix Test crashes * disable Build servers * Fixed Building problem with tests * Fixed command line * Removed disable build servers --------- Co-authored-by: Shargon <[email protected]> * `[Typo]` Unit Tests - UT_ProtocolSettings.CreateHKSettings (#3383) * Typeo with `CreateHKSettings` * fix ut --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Bump System.Text.Json from 8.0.3 to 8.0.4 in /src/Neo.Json (#3416) Bumps System.Text.Json from 8.0.3 to 8.0.4. --- updated-dependencies: - dependency-name: System.Text.Json dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * [Neo Plugin Store] Unit test (#3399) * test * fix snapshot issue and add tests * fix test * apply old snapshot * remove duplicate * Remove method --------- Co-authored-by: Christopher Schuchardt <[email protected]> Co-authored-by: NGD Admin <[email protected]> Co-authored-by: Shargon <[email protected]> * `[Add]` Debug Output to `Expect` (#3407) * Added Debug to Expect * Update file paths --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Improve code coverage (#3354) * update * remove binary file * Add UT and fixed bug * Add UT and fixed bug * Add UT * Add UT * Add UT * Update src/Neo/SmartContract/Manifest/ContractManifest.cs Co-authored-by: Christopher Schuchardt <[email protected]> * Update src/Neo/SmartContract/Manifest/ContractManifest.cs Co-authored-by: Christopher Schuchardt <[email protected]> * Update src/Neo/SmartContract/Manifest/ContractManifest.cs Co-authored-by: Christopher Schuchardt <[email protected]> * Update Base58.cs * Update UT_Cryptography_Helper.cs * Update Base58.cs * update * Update ContractManifest.cs * Revert change that affect a syscall * Revert try * Remove using * Update src/Neo/SmartContract/Manifest/ContractManifest.cs Co-authored-by: Christopher Schuchardt <[email protected]> * Update src/Neo/SmartContract/Manifest/ContractAbi.cs Co-authored-by: Christopher Schuchardt <[email protected]> * Update src/Neo/SmartContract/Manifest/ContractManifest.cs Co-authored-by: Christopher Schuchardt <[email protected]> --------- Co-authored-by: Christopher Schuchardt <[email protected]> Co-authored-by: Jimmy <[email protected]> Co-authored-by: Fernando Diaz Toledano <[email protected]> Co-authored-by: NGD Admin <[email protected]> * [Neo Plugin UT] Rpcserver unit test on node (#3353) * try mock * not use mock * test * fix test * use neo testutils * complete rpcserver blockchain tests. * revert change to ByteArrayComparer * revert cache change * add more detail to comments * add more exception test cases * fix warning * Apply suggestions from code review * update TODO mark * add node rpc tests * fix build error * set the mempool to 5. * remove memory pool test. * fix tests * fix test issue * Update tests/Neo.UnitTests/TestUtils.Transaction.cs --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Fix release compilation (#3417) * Fix release * typo * Fixed Publish Step (#3411) Co-authored-by: NGD Admin <[email protected]> * [Neo Core MemoryStore] MemoryStore Unit Tests. (#3404) * test * fix snapshot issue and add tests * fix test * apply old snapshot * memory snapshot tests * memory test * add more tests * make it more clear * revert storetest --------- Co-authored-by: Christopher Schuchardt <[email protected]> Co-authored-by: NGD Admin <[email protected]> Co-authored-by: Shargon <[email protected]> * [Neo Core Storage] Implicit methods and tests (#3403) * implicit methods and tests * udpate --------- Co-authored-by: Shargon <[email protected]> * [Neo Core Store] Rename various snapshots. (#3406) * rename snapshot * Remove warning --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * `[Move]` Part-2 Classes into Different Library - `Neo.IO` (#3388) * Part-1 `Neo.IO` - move * Part-2 * Added `BigInteger` to `Neo.Extensions` * Found more `BigInteger` * Added Tests * Update tests/Neo.Extensions.Tests/UT_BigIntegerExtensions.cs --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: Jimmy <[email protected]> * Revert "Plugin unhandled exception (#3349)" (#3366) This reverts commit b2f060f. Co-authored-by: Christopher Schuchardt <[email protected]> * fix obsolete warning (#3428) * Neo.CLI: update MaxTraceableBlocks setting for NeoFS networks (#3424) We don't need long tails for NeoFS networks, 3 days is enough for now. It's checked that this change does not affect the network states. Port nspcc-dev/neo-go#3518. Signed-off-by: Anna Shaleva <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Upgrade `nuget` packages (#3421) Co-authored-by: NGD Admin <[email protected]> * [Neo Core Fix]use strong randomness (#3432) * use strong randomness * Update src/Plugins/DBFTPlugin/Consensus/ConsensusContext.MakePayload.cs --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Fixed warning (#3430) Co-authored-by: Shargon <[email protected]> * [Neo Core UT] Fix ut and style (#3413) * fix ut and style * clean * update test * Update tests/Neo.UnitTests/IO/Caching/UT_DataCache.cs Co-authored-by: Hecate2 <[email protected]> --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: Hecate2 <[email protected]> Co-authored-by: Hecate2 <[email protected]> Co-authored-by: NGD Admin <[email protected]> * [**Added**] Build `neo-cli` Docker Image (#3355) * Added `devcontrainer` test for `neo-cli` * Basic contrainer setup * Updated version of `checkout` action job's step. * Changed to `neo-cli` * Update `dockerfile` * Updated `PostCreateCommand` * Changed to `bookworm-slim` * Reverted to `Jammy` * Added `sudo` command for `PostCreateCommand` * Added permissions * Removed `screen` command * Added to `bin` and `PostCreateCommand` * Changed `devcontainer` files * Reverted builds * Added `neo` repo to devcontainer * Changed to docker-image for github registry * Fixed Bugs in `docker` support for `neo-cli` image * Added type `container` * Revert `.devcontainer` folder * format * Changed workflow to `docker` for `pkgs-delete.yml` since we use `v4` * Deleted `Dockerfile` from `src\Neo.CLI` * Revert "Deleted `Dockerfile` from `src\Neo.CLI`" This reverts commit b877de0. --------- Co-authored-by: Jimmy <[email protected]> * [Neo Core Doc]create a docs folder and move existing doc to it. (#3435) * create a docs folder and move existing doc to it. * move neocli config md * [**Part-1**] Added `ApplicationLogs` Unit Tests (#3346) * Added ApplicationLogs Tests * Fixed pathing and naming * Merged `Part-2` * Fixed Test for `Test_Put_Get_NotifyState_Storage` --------- Co-authored-by: NGD Admin <[email protected]> Co-authored-by: Shargon <[email protected]> Co-authored-by: Jimmy <[email protected]> * add unit tests for json (#2993) * add unit tests for json * fix ut * add ut cases for JString. * add invalid jpath tests * behavior of jboolean is kinda weird. i have: Assert.AreEqual failed. Expected:<true>. Actual:<true>. * fix test error * add more test --------- Co-authored-by: Shargon <[email protected]> * [Neo Core VM] complete opcode comments (#3437) * complete opcode comments * Apply suggestions from code review * Update src/Neo.VM/OpCode.cs --------- Co-authored-by: Shargon <[email protected]> * [Neo Core] Obsolete applicationengine snapshot (#3436) * Obsolete applicationengine snapshot * fix UT names * fix executioncontextstate --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * [Neo Plugin RpcServer UT]Plugin rpcserver wallet UTs (#3433) * wallet * fix util * add comments and fix ut * Update tests/Neo.Plugins.RpcServer.Tests/UT_RpcServer.Wallet.cs * remove comment --------- Co-authored-by: Christopher Schuchardt <[email protected]> Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * `[Move]` Part-3 Classes into Different Library - `Neo.Extensions` (#3400) * Part-1 `Neo.IO` - move * Part-2 * Added `BigInteger` to `Neo.Extensions` * Found more `BigInteger` * Added `ByteArray` to `Neo.Extensions` * Added Tests * Added `tests` from `Part-2` --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: Jimmy <[email protected]> * [`Optimization`] Parsing Smart Contract Script Analysis (#3420) * Fixed Parsing Smart Contract Script Analysis * Add more opcode outputs * Bug fixes * Move to ToString * Reorder using * Change ToString --------- Co-authored-by: Jimmy <[email protected]> Co-authored-by: Vitor Nazário Coelho <[email protected]> Co-authored-by: Fernando Diaz Toledano <[email protected]> Co-authored-by: NGD Admin <[email protected]> * update benchmark system (#3442) Co-authored-by: NGD Admin <[email protected]> * [rpc] Extend `getversion` RPC response with additional protocol settings (#3443) * getversion * Extend client --------- Co-authored-by: NGD Admin <[email protected]> * [Neo Core Add] add char support (#3441) * add char support * Update src/Neo/VM/Helper.cs * add char unit test --------- Co-authored-by: Shargon <[email protected]> * Stopped `RecoveryLogs` store from being created when `IgnoreRecoveryLogs` is `true` (#3444) Co-authored-by: Shargon <[email protected]> * [Neo Core Bug] fix compound type reference issue (#3334) * fix compound type reference issue * fix warning * add benchmark * throw exception instead * Update benchmarks/Neo.VM.Benchmarks/Benchmarks.Types.cs * Update src/Neo.VM/Types/Map.cs * Apply suggestions from code review * Update src/Neo.VM/Types/Map.cs Co-authored-by: Shargon <[email protected]> * update accessibality. --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Fix plugin exception (#3426) * Revert "Revert "Plugin unhandled exception (#3349)" (#3366)" This reverts commit f307a31. * ensure leveldb is not used in multithread env * Revert "Revert "Plugin unhandled exception (#3349)" (#3366)" This reverts commit f307a31. * remove async. * Update src/Neo/Plugins/UnhandledExceptionPolicy.cs Co-authored-by: Christopher Schuchardt <[email protected]> * not use linq * Update src/Neo/Plugins/UnhandledExceptionPolicy.cs Co-authored-by: Christopher Schuchardt <[email protected]> * use ignore case * Update src/Plugins/TokensTracker/TokensTracker.cs * Update src/Neo/Plugins/Plugin.cs Co-authored-by: Shargon <[email protected]> --------- Co-authored-by: Christopher Schuchardt <[email protected]> Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * [Neo Json Fix] Json null tests (#3450) * null operation * fix array --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: Christopher Schuchardt <[email protected]> * Update README.md (#3459) * Update RpcServer.Blockchain.cs (#3458) Co-authored-by: Jimmy <[email protected]> * Set `Password` to `SecureString` for Wallet (#3468) * Set `Password` to `SecureString` for Wallet information * Added `UnitTest` for `SecureStringExtensions` * Update tests/Neo.Extensions.Tests/UT_SecureStringExtensions.cs Co-authored-by: Shargon <[email protected]> * Update src/Neo.Extensions/SecureStringExtensions.cs --------- Co-authored-by: Shargon <[email protected]> * [Neo Plugin RPCServer] Rpc parameters. Part I (#3457) * rpc parameter parse * update blockchain related apis. * Update src/Plugins/RpcServer/RpcMethodWithParamsAttribute.cs * Delete src/Plugins/RpcServer/JsonPropertyNameAttribute.cs * udpate contract model * Update src/Plugins/RpcServer/Model/BlockHashOrIndex.cs * Apply suggestions from code review Remove comments * Update src/Plugins/RpcServer/RpcServer.cs * fix warnings * ensure it can load both true/false and 1/0 * optimize the pr and add unit tests * add more tests and check the safe max value and safe min value * remove format * remove unused * format * Apply suggestions from code review --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * test RpcServer.Utilities, .SmartContract and .Wallet (#3461) * test RpcServer.Utilities * test invoke function and script * TestTraverseIterator * TestGetUnclaimedGas * RpcServerSettings.Default with { SessionEnabled = true } * test call with storage changes and events * use wallet in invokefunction * use invalid wallet * invoke without signer * all cases for TraverseIterator * traversing same session twice; not expired session * cover OnTimer * test deserializing complex signers * use Assert.ThrowsException * TestSendFrom and TestSendMany * apply code review with `nameof` * test cancel transaction * TestInvokeContractVerify * improve error message --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * `[Move]` Part-4 Classes into Different Library - `Neo.Extensions` (#3408) * Part-1 `Neo.IO` - move * Part-2 * Added `BigInteger` to `Neo.Extensions` * Found more `BigInteger` * Added `ByteArray` to `Neo.Extensions` * Added `DateTime` Extensions to `Neo.Extensions` * Added `HashSetExtensions`, `HashSetExtensions2`, `IpAddressExtensions`, `AssemblyExtensions`, `StringExtensdions` Deleted `Helper.cs` file * Added Tests * Added `tests` from `Part-2` * Added `tests` for `PART-4` * Add `using Neo.Extensions` for unit tests * Change `HashSetExtensions2` to `HashSetExtensions` * Update tests/Neo.Extensions.Tests/UT_BigIntegerExtensions.cs * Update and rename StringExtensdions.cs to StringExtensdios.cs * Rename StringExtensdios.cs to StringExtensions.cs * `dotnet format` --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: Jimmy <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Add UT Neo.IO (#3466) * UT_KeyedCollectionSlim * Update UT_KeyedCollectionSlim.cs * Update UT_MemoryReader.cs * Update UT_MemoryReader.cs * improve error message when wrong wallet is opened (#3469) * improve error message when wrong wallet is opened * update tests * Update UT RpcServer (#3460) * Update UT_RpcServer.Blockchain.cs * Update UT_RpcServer.Blockchain.cs * update * fixed bug * format * update * Update NativeContractExtensions.cs * update * Remove conflicting files * update * format * [`fixes`] UInt160 Class (#3422) * Fixed `UInt160` and expanded class * Cleaned up code for `TryParse` * Fixed `TryParse` * Fixed small bug with `TryParse` * Change `UInt160.Zero` to `static readonly` * benchmark UInt160 * Fix benchmark * Fixed bugs and added features for `UInt160` class * Revert and just keep bug fixes * Made @shargon changes * Set `InvariantCultureIgnoreCase` back for `0x` and `0X` --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: Jimmy <[email protected]> Co-authored-by: Jimmy <[email protected]> * test GetApplicationLog (#3470) * test GetApplicationLog * filter execution type * Test_Commands; refactor * apply review suggestions --------- Co-authored-by: Shargon <[email protected]> * Add UT Neo.Extensions (#3467) * Add UT Neo.Extensions * resolve conflicts * Revert "resolve conflicts" This reverts commit 6d0a61b. * add edge case * update mod test --------- Co-authored-by: NGD Admin <[email protected]> Co-authored-by: Jimmy <[email protected]> Co-authored-by: Jimmy <[email protected]> * Add some UT (#3476) * Update UT_Utility.cs * TestGetContractState * Update ConstantTimeUtility.cs (#3472) - Fix typo Co-authored-by: Shargon <[email protected]> Co-authored-by: Jimmy <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Test OracleService (#3475) * trigger https oracle * make it internal * return Task.CompletedTask --------- Co-authored-by: Jimmy <[email protected]> Co-authored-by: Jimmy <[email protected]> Co-authored-by: Shargon <[email protected]> * [Neo Plugin RPC] update rpc node methods signatures to use explicit parameter types. (#3479) * update rpc node methods signatures to use explicit parameter types. * fix attribute place --------- Co-authored-by: Christopher Schuchardt <[email protected]> Co-authored-by: Shargon <[email protected]> * Fixing errors in comments (#3483) * Update OpCode.cs * Update JumpTable.Compound.cs * Update OpCode.cs * parse nef file scripts (#3482) * parse nef file scripts * nef file path support --------- Co-authored-by: Vitor Nazário Coelho <[email protected]> * [Neo VM Style] Throw exception for Integer that is larger than 32 bytes (#3486) * fix push integer * Update src/Neo.VM/ScriptBuilder.cs * Update tests/Neo.VM.Tests/UT_ScriptBuilder.cs * Update tests/Neo.VM.Tests/UT_ScriptBuilder.cs * Update RpcError.cs (#3498) * fix: concurrency conflict in HeaderCache.Count (#3501) * fix: concurrency conflict in HeaderCache.Count * Update tests/Neo.UnitTests/Ledger/UT_HeaderCache.cs * Update tests/Neo.UnitTests/Ledger/UT_HeaderCache.cs --------- Co-authored-by: Shargon <[email protected]> * [`Add`] Transaction Builder (#3477) * Added Builders with tests * Added SignerBuilder and started WitnessRuleBuilder * Added `WitnessConditionBuilder` with tests * Added more logic * Fixed `SignerBuilder` class * Code touch ups * Added more tests * Update src/Neo/Builders/TransactionBuilder.cs * Fixed `And` `Or` and `Not` conditions * Fixed Memory leak * Added error message for Witness scripts --------- Co-authored-by: Jimmy <[email protected]> Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * [`Fix`] Neo Plugins github nuget (#3493) * Fixed Delete packages for github * Automatic * added continue-on-error: true --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * `[Move]` Part-5 Classes into Different Library - `Neo.Extensions` (#3409) * Part-1 `Neo.IO` - move * Part-2 * Added `BigInteger` to `Neo.Extensions` * Found more `BigInteger` * Added `ByteArray` to `Neo.Extensions` * Added `DateTime` Extensions to `Neo.Extensions` * Added `HashSetExtensions`, `HashSetExtensions2`, `IpAddressExtensions`, `AssemblyExtensions`, `StringExtensdions` Deleted `Helper.cs` file * Added `ICollection`, `Memory`, `String`, `Unsafe` extensions * Adding `using` * dotnet format * Added Tests * Added `tests` from `Part-2` * Added `tests` for `PART-4` * Added `tests` for `PART-5` * Made changes and fixes * Fixes * Apply suggestions from code review * Update tests/Neo.Extensions.Tests/UT_StringExtensions.cs * @shagron review changes * formating * Moved `UnsafeData` tests to `UT_UnsafeData` * Formating --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: Jimmy <[email protected]> * fix: always throw `DivideByZeroException ` when `BloomFilter` is empty (#3502) * fix: always throw divided by zero when BloomFilter is empty * fix: always throw divided by zero when BloomFilter is empty * fix: concurrency conflict in MemPool.TryRemoveUnVerified (#3500) * fix: concurrency conflict in MemPool.TryRemoveUnVerified * Remove method * Update src/Neo/Ledger/MemoryPool.cs * clean * Apply suggestions from code review * reformat --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: Jimmy <[email protected]> * update rvcount error message (#3504) * Added `CreateStruct` & Fixed `CreateMap` (#3494) * Added `CreateStruct`, Fixed CreateMap * Added test and comments --------- Co-authored-by: Jimmy <[email protected]> Co-authored-by: NGD Admin <[email protected]> Co-authored-by: Shargon <[email protected]> * benchmark convert (#3509) * OpCodes: extend MODMUL tests with negative base/multiplier/mod (#3513) Allows to avoid bugs like nspcc-dev/neo-go#3598. Signed-off-by: Anna Shaleva <[email protected]> Co-authored-by: Jimmy <[email protected]> * fix: sensitive data compare should use constant time compare to avoid timing attack (#3508) * fix: pass compare should use contant time compare to avoid timing attack * fix: pass compare should use contant time compare to avoid timing attack * Update src/Plugins/RpcServer/RpcServer.cs * Update src/Plugins/RpcServer/RpcServer.cs --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: Jimmy <[email protected]> * Related to #3508 (comment) (#3516) Co-authored-by: Jimmy <[email protected]> * [Benchmark] this pr adds more pocs to benchmark (#3512) * this pr adds more pocs to benchmark * format --------- Co-authored-by: Fernando Diaz Toledano <[email protected]> * Bump System.Text.Json from 8.0.4 to 8.0.5 in /src/Neo.Json (#3519) Bumps [System.Text.Json](https://github.com/dotnet/runtime) from 8.0.4 to 8.0.5. - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](dotnet/runtime@v8.0.4...v8.0.5) --- updated-dependencies: - dependency-name: System.Text.Json dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: NGD Admin <[email protected]> Co-authored-by: Shargon <[email protected]> * Circular reference error info in ToJson (#3522) Co-authored-by: Shargon <[email protected]> * [Benchmark] Benchmark OpCode and VM (#3514) * add opcode benchmark system * add opcode benchmark system * update to make the framework easier to work with. * Clean code * filescope namespace * remove uncomplet benchmark * add missing using --------- Co-authored-by: Fernando Diaz Toledano <[email protected]> * Move `ReferenceCounter` to an interface (#3524) * Reference counter V2 * Remove warning * Interface * Change to interface * Update * Remove V2 * [Neo VM] optimize newstruct (#3525) * optimize newstruct * use Array.Fill * Update src/Neo.VM/JumpTable/JumpTable.Compound.cs --------- Co-authored-by: Shargon <[email protected]> * fea: use canonical TryGet style in IReadOnlyStore (#3533) * Add references (#3529) Co-authored-by: Jimmy <[email protected]> * fix: concurrency conflict in NEP6Wallet.ToJson (#3527) * fix: concurrency conflict in NEP6Wallet.ToJson * Update also ChangePasssword * Reduce lock time --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: Jimmy <[email protected]> * fix cref "OpCode.SUBSTR" in comment (#3542) * ApplicationEngine helper to get engine error info (#3541) * helper to get engine error info * cancel try * Update src/Neo/SmartContract/ApplicationEngine.Helper.cs Co-authored-by: Shargon <[email protected]> * standalone method to get exception stack trace and message * always return string --------- Co-authored-by: Jimmy <[email protected]> Co-authored-by: Shargon <[email protected]> * stack opcode example comments (#3546) * stack opcode example comments * move index into example --------- Co-authored-by: Jimmy <[email protected]> * Expose `GetInteropDescriptor` (#3545) * Expose GetInteropDescriptor * Update src/Neo/SmartContract/ApplicationEngine.cs --------- Co-authored-by: Jimmy <[email protected]> Co-authored-by: NGD Admin <[email protected]> --------- Signed-off-by: dependabot[bot] <[email protected]> Signed-off-by: Anna Shaleva <[email protected]> Co-authored-by: Shargon <[email protected]> Co-authored-by: 陈志同 <[email protected]> Co-authored-by: Jimmy <[email protected]> Co-authored-by: NGD Admin <[email protected]> Co-authored-by: Owen <[email protected]> Co-authored-by: lingyido <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Vitor Nazário Coelho <[email protected]> Co-authored-by: Anna Shaleva <[email protected]> Co-authored-by: Hecate2 <[email protected]> Co-authored-by: Hecate2 <[email protected]> Co-authored-by: Jimmy <[email protected]> Co-authored-by: Mirage Mouse <[email protected]> Co-authored-by: nan01ab <[email protected]>
1 parent c958ee6 commit 0dd6127

File tree

422 files changed

+16414
-3612
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

422 files changed

+16414
-3612
lines changed

.editorconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ indent_size = 2
4848
end_of_line = lf
4949
indent_size = 2
5050

51+
# YAML files
52+
[*.yml]
53+
end_of_line = lf
54+
indent_size = 2
55+
5156
# Dotnet code style settings:
5257
[*.{cs,vb}]
5358
# Member can be made 'readonly'

.github/workflows/docker.yml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Publish (docker-image)
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
env:
8+
DOTNET_VERSION: 8.0.x
9+
DIST_DIR: ./dist
10+
11+
jobs:
12+
neo-cli-build:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Set Application Version (Environment Variable)
17+
run: |
18+
APP_VERSION=$(echo '${{ github.event.release.tag_name }}' | cut -d 'v' -f 2)
19+
echo "APP_VERSION=$APP_VERSION" >> $GITHUB_ENV
20+
21+
- name: Checkout (GitHub)
22+
uses: actions/checkout@v4
23+
24+
- name: Setup .NET
25+
uses: actions/setup-dotnet@v4
26+
with:
27+
dotnet-version: ${{ env.DOTNET_VERSION }}
28+
29+
- name: Build (neo-cli)
30+
run: |
31+
dotnet publish ./src/Neo.CLI \
32+
--framework net8.0 \
33+
--configuration Release \
34+
--runtime linux-x64 \
35+
--self-contained true \
36+
--output ${{ env.DIST_DIR }} \
37+
--verbosity normal \
38+
-p:VersionPrefix=${{ env.APP_VERSION }} \
39+
-p:RuntimeIdentifier=linux-x64 \
40+
-p:SelfContained=true \
41+
-p:IncludeNativeLibrariesForSelfExtract=false \
42+
-p:PublishTrimmed=false \
43+
-p:PublishSingleFile=true \
44+
-p:PublishReadyToRun=true \
45+
-p:EnableCompressionInSingleFile=true \
46+
-p:DebugType=embedded \
47+
-p:ServerGarbageCollection=true
48+
49+
- name: Build (LevelDbStore)
50+
run: |
51+
dotnet build ./src/Plugins/LevelDBStore \
52+
--framework net8.0 \
53+
--configuration Release \
54+
--output ${{ env.DIST_DIR }}/Plugins/LevelDBStore \
55+
--verbosity normal \
56+
-p:VersionPrefix=${{ env.APP_VERSION }}
57+
58+
- name: Remove (junk)
59+
run: |
60+
rm -v ${{ env.DIST_DIR }}/Plugins/LevelDBStore/Neo*
61+
rm -v ${{ env.DIST_DIR }}/Plugins/LevelDBStore/*.pdb
62+
rm -v ${{ env.DIST_DIR }}/Plugins/LevelDBStore/*.xml
63+
rm -v ${{ env.DIST_DIR }}/*.xml
64+
65+
- name: Docker Login
66+
run: |
67+
docker login ghcr.io \
68+
--username ${{ github.repository_owner }} \
69+
--password ${{ secrets.GITHUB_TOKEN }}
70+
71+
- name: Docker Build
72+
run: |
73+
docker build . \
74+
--file ./.neo/docker/neo-cli/Dockerfile \
75+
--tag ghcr.io/${{ github.repository_owner }}/neo-cli:latest \
76+
--tag ghcr.io/${{ github.repository_owner }}/neo-cli:${{ env.APP_VERSION }} \
77+
--push

.github/workflows/main.yml

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- name: Check Format (*.cs)
2525
run: dotnet format --verify-no-changes --verbosity diagnostic
2626

27-
Build-Test-Neo-Cli:
27+
Test-Everything:
2828
needs: [Format]
2929
timeout-minutes: 15
3030
runs-on: ubuntu-latest
@@ -37,16 +37,16 @@ jobs:
3737
with:
3838
dotnet-version: ${{ env.DOTNET_VERSION }}
3939

40-
- name: Build (Neo.CLI)
41-
run: dotnet build ./src/Neo.CLI --output ./out/Neo.CLI
40+
- name: Build (Everything)
41+
run: dotnet build
4242

4343
- name: Install dependencies
4444
run: |
4545
sudo apt-get install libleveldb-dev expect
46-
find ./out -name 'config.json' | xargs perl -pi -e 's|LevelDBStore|MemoryStore|g'
46+
find ./bin -name 'config.json' | xargs perl -pi -e 's|LevelDBStore|MemoryStore|g'
4747
4848
- name: Run tests with expect
49-
run: expect ./scripts/Neo.CLI/test-neo-cli.expect
49+
run: expect ./scripts/Neo.CLI/test-neo-cli.exp
5050

5151
Test:
5252
needs: [Format]
@@ -68,7 +68,8 @@ jobs:
6868
if: matrix.os != 'ubuntu-latest'
6969
run: |
7070
dotnet sln neo.sln remove ./tests/Neo.Plugins.Storage.Tests/Neo.Plugins.Storage.Tests.csproj
71-
dotnet test
71+
dotnet build
72+
dotnet test --blame-hang --blame-crash --no-build
7273
7374
- name: Test for coverall
7475
if: matrix.os == 'ubuntu-latest'
@@ -80,13 +81,15 @@ jobs:
8081
dotnet test ./tests/Neo.UnitTests --output ./bin/tests/Neo.UnitTests
8182
dotnet test ./tests/Neo.VM.Tests --output ./bin/tests/Neo.VM.Tests
8283
dotnet test ./tests/Neo.Json.UnitTests --output ./bin/tests/Neo.Json.UnitTests
84+
dotnet test ./tests/Neo.Extensions.Tests --output ./bin/tests/Neo.Extensions.Tests
8385
8486
# Plugins
8587
dotnet test ./tests/Neo.Cryptography.MPTTrie.Tests --output ./bin/tests/Neo.Cryptography.MPTTrie.Tests
8688
dotnet test ./tests/Neo.Network.RPC.Tests --output ./bin/tests/Neo.Network.RPC.Tests
8789
dotnet test ./tests/Neo.Plugins.OracleService.Tests --output ./bin/tests/Neo.Plugins.OracleService.Tests
8890
dotnet test ./tests/Neo.Plugins.RpcServer.Tests --output ./bin/tests/Neo.Plugins.RpcServer.Tests
8991
dotnet test ./tests/Neo.Plugins.Storage.Tests --output ./bin/tests/Neo.Plugins.Storage.Tests
92+
dotnet test ./tests/Neo.Plugins.ApplicationLogs.Tests --output ./bin/tests/Neo.Plugins.ApplicationLogs.Tests
9093
9194
- name: Coveralls
9295
if: matrix.os == 'ubuntu-latest'
@@ -104,6 +107,8 @@ jobs:
104107
${{ github.workspace }}/tests/Neo.Plugins.OracleService.Tests/TestResults/coverage.info
105108
${{ github.workspace }}/tests/Neo.Plugins.RpcServer.Tests/TestResults/coverage.info
106109
${{ github.workspace }}/tests/Neo.Plugins.Storage.Tests/TestResults/coverage.info
110+
${{ github.workspace }}/tests/Neo.Plugins.ApplicationLogs.Tests/TestResults/coverage.info
111+
${{ github.workspace }}/tests/Neo.Extensions.Tests/TestResults/coverage.info
107112

108113
PublishPackage:
109114
if: github.ref == 'refs/heads/master' && startsWith(github.repository, 'neo-project/')
@@ -123,19 +128,13 @@ jobs:
123128
- name: Set Version
124129
run: git rev-list --count HEAD | xargs printf 'CI%05d' | xargs -I{} echo 'VERSION_SUFFIX={}' >> $GITHUB_ENV
125130

126-
- name : Pack (Neo)
131+
- name : Pack (Everything)
127132
run: |
128133
dotnet pack \
129134
--configuration Release \
130135
--output ./out \
131136
--version-suffix ${{ env.VERSION_SUFFIX }}
132137
133-
- name: Remove Unwanted Files
134-
working-directory: ./out
135-
run: |
136-
rm -v Neo.CLI*
137-
rm -v Neo.GUI*
138-
139138
- name: Publish to Github Packages
140139
working-directory: ./out
141140
run: |

.github/workflows/nuget.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ jobs:
3535
dotnet pack ./neo.sln \
3636
--configuration Release \
3737
--output ./sbin \
38-
--verbosity normal \ # Normal verbosity level
39-
-p:VersionPrefix=${{ env.APP_VERSION }} # Set the version prefix from tag_name
38+
--verbosity normal \
39+
-p:VersionPrefix=${{ env.APP_VERSION }}
4040
4141
- name: Publish to NuGet.org
4242
run: |

.github/workflows/pkgs-delete.yml

Lines changed: 37 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -61,67 +61,53 @@ jobs:
6161
6262
shell: python
6363

64-
delete-git-pkgs:
65-
name: Delete Old Nuget Packages
64+
delete-git-docker-pkgs:
65+
name: Delete Old Docker Images
6666
runs-on: ubuntu-latest
6767

6868
steps:
69-
- name: Delete Neo.Cryptography.BLS12_381 Package
69+
- name: Delete Neo Package (docker)
7070
uses: actions/delete-package-versions@v4
71+
continue-on-error: true
7172
with:
72-
package-name: Neo.Cryptography.BLS12_381
73-
package-type: nuget
74-
min-versions-to-keep: 3
75-
delete-only-pre-release-versions: "true"
76-
token: "${{ secrets.GITHUB_TOKEN }}"
77-
78-
- name: Delete Neo.VM Package
79-
uses: actions/delete-package-versions@v4
80-
with:
81-
package-name: Neo.VM
82-
package-type: nuget
83-
min-versions-to-keep: 3
84-
delete-only-pre-release-versions: "true"
85-
token: "${{ secrets.GITHUB_TOKEN }}"
86-
87-
- name: Delete Neo.Json Package
88-
uses: actions/delete-package-versions@v4
89-
with:
90-
package-name: Neo.Json
91-
package-type: nuget
92-
min-versions-to-keep: 3
93-
delete-only-pre-release-versions: "true"
73+
package-name: Neo
74+
package-type: docker
75+
min-versions-to-keep: 1
9476
token: "${{ secrets.GITHUB_TOKEN }}"
9577

96-
- name: Delete Neo.IO Package
97-
uses: actions/delete-package-versions@v4
98-
with:
99-
package-name: Neo.IO
100-
package-type: nuget
101-
min-versions-to-keep: 3
102-
delete-only-pre-release-versions: "true"
103-
token: "${{ secrets.GITHUB_TOKEN }}"
78+
delete-git-nuget-pkgs:
79+
name: Delete Old Nuget Packages
80+
strategy:
81+
matrix:
82+
pkgs:
83+
- "Neo.Plugins.StatesDumper"
84+
- "Neo.Plugins.StateService"
85+
- "Neo.Plugins.Storage.LevelDBStore"
86+
- "Neo.Plugins.Storage.RocksDBStore"
87+
- "Neo.Plugins.StorageDumper"
88+
- "Neo.Plugins.TokensTracker"
89+
- "Neo.Wallets.SQLite"
90+
- "Neo.Consensus.DBFT"
91+
- "Neo.ConsoleService"
92+
- "Neo.Cryptography.MPT"
93+
- "Neo.Extensions"
94+
- "Neo.Network.RPC.RpcClient"
95+
- "Neo.Plugins.ApplicationLogs"
96+
- "Neo.Plugins.OracleService"
97+
- "Neo.Plugins.RpcServer"
98+
- "Neo.Cryptography.BLS12_381"
99+
- "Neo.VM"
100+
- "Neo.Json"
101+
- "Neo.IO"
102+
- "Neo"
103+
runs-on: ubuntu-latest
104104

105-
- name: Delete Neo Package
106-
uses: actions/delete-package-versions@v4
107-
with:
108-
package-name: Neo
109-
package-type: nuget
110-
min-versions-to-keep: 3
111-
delete-only-pre-release-versions: "true"
112-
token: "${{ secrets.GITHUB_TOKEN }}"
113-
- name: Delete Neo.ConsoleService Package
114-
uses: actions/delete-package-versions@v4
115-
with:
116-
package-name: Neo.ConsoleService
117-
package-type: nuget
118-
min-versions-to-keep: 3
119-
delete-only-pre-release-versions: "true"
120-
token: "${{ secrets.GITHUB_TOKEN }}"
121-
- name: Delete Neo.Extensions Package
105+
steps:
106+
- name: Delete ${{ matrix.pkgs }} Package
122107
uses: actions/delete-package-versions@v4
108+
continue-on-error: true
123109
with:
124-
package-name: Neo.Extensions
110+
package-name: ${{ matrix.pkgs }}
125111
package-type: nuget
126112
min-versions-to-keep: 3
127113
delete-only-pre-release-versions: "true"

0 commit comments

Comments
 (0)