fix: concurrency conflict in MemPool.TryRemoveUnVerified#3500
fix: concurrency conflict in MemPool.TryRemoveUnVerified#3500NGDAdmin merged 11 commits intoneo-project:masterfrom nan01ab:fix.concurrecy-conflict-in-TryRemoveUnVerified
Conversation
A unit test added |
In real environment, please @superboyiii could you test it? |
SuperBoy is on travel, wont be back until 26th. |
Sure. |
|
I have doubts on this. Neo uses Akka actors to avoid locks. It was said that a single Akka actor processes only 1 message at any time. This means that no multiple instances of an actor is running. And At the definition of I am even doubting why write locks are needed, and whether the existing locks are necessary. |
|
| } | ||
|
|
||
| [TestMethod] | ||
| public void TestTryRemoveUnVerified() |
There was a problem hiding this comment.
how could this test the conflict?
There was a problem hiding this comment.
Race condition is hard to test.
|
|
||
| _unit.SortedTxCount.Should().Be(0); | ||
|
|
||
| foreach (var tx in txs) |
There was a problem hiding this comment.
maybe _unit.UnVerifiedCount.Should().Be(32); before the loop
* 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 <shargon@gmail.com> * [**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 <jinghui@wayne.edu> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * cli: Fix `plugins` command (#3394) * Fix plugin list * Update src/Neo.CLI/CLI/MainService.Plugins.cs --------- Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * Added blame logging for `dotnet test` (#3384) Co-authored-by: Jimmy <jinghui@wayne.edu> Co-authored-by: Shargon <shargon@gmail.com> * 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 <cschuchardt88@gmail.com> Co-authored-by: Jimmy <jinghui@wayne.edu> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> Co-authored-by: Shargon <shargon@gmail.com> * `DeprecatedIn` for events (#3362) * DeprecatedIn for events * Added UT * Remove using --------- Co-authored-by: Jimmy <jinghui@wayne.edu> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * Fix crash when comparing ContractPermissionDescriptor (#3396) * Update ContractPermissionDescriptor.cs * Add UT --------- Co-authored-by: Fernando Diaz Toledano <shargon@gmail.com> Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * `[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 <lingyido@gmail.com> --------- Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: lingyido <lingyido@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * Fixed Props Pathing for `dotnet pack` with `nuget` (#3379) Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * Part-1 `Neo.IO` - move (#3387) Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * `[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 <shargon@gmail.com> * `[Typo]` Unit Tests - UT_ProtocolSettings.CreateHKSettings (#3383) * Typeo with `CreateHKSettings` * fix ut --------- Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * 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] <support@github.com> 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 <cschuchardt88@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> Co-authored-by: Shargon <shargon@gmail.com> * `[Add]` Debug Output to `Expect` (#3407) * Added Debug to Expect * Update file paths --------- Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * 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 <cschuchardt88@gmail.com> * Update src/Neo/SmartContract/Manifest/ContractManifest.cs Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com> * Update src/Neo/SmartContract/Manifest/ContractManifest.cs Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com> * 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 <cschuchardt88@gmail.com> * Update src/Neo/SmartContract/Manifest/ContractAbi.cs Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com> * Update src/Neo/SmartContract/Manifest/ContractManifest.cs Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com> --------- Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com> Co-authored-by: Jimmy <jinghui@wayne.edu> Co-authored-by: Fernando Diaz Toledano <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * [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 <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * Fix release compilation (#3417) * Fix release * typo * Fixed Publish Step (#3411) Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * [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 <cschuchardt88@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> Co-authored-by: Shargon <shargon@gmail.com> * [Neo Core Storage] Implicit methods and tests (#3403) * implicit methods and tests * udpate --------- Co-authored-by: Shargon <shargon@gmail.com> * [Neo Core Store] Rename various snapshots. (#3406) * rename snapshot * Remove warning --------- Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * `[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 <shargon@gmail.com> Co-authored-by: Jimmy <jinghui@wayne.edu> * Revert "Plugin unhandled exception (#3349)" (#3366) This reverts commit b2f060f. Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com> * 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 <shaleva.ann@nspcc.ru> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * Upgrade `nuget` packages (#3421) Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * [Neo Core Fix]use strong randomness (#3432) * use strong randomness * Update src/Plugins/DBFTPlugin/Consensus/ConsensusContext.MakePayload.cs --------- Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * Fixed warning (#3430) Co-authored-by: Shargon <shargon@gmail.com> * [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 <hecate2@qq.com> --------- Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: Hecate2 <hecate2@qq.com> Co-authored-by: Hecate2 <2474101468@qq.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * [**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 <jinghui@wayne.edu> * [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 <154295625+NGDAdmin@users.noreply.github.com> Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: Jimmy <jinghui@wayne.edu> * 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 <shargon@gmail.com> * [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 <shargon@gmail.com> * [Neo Core] Obsolete applicationengine snapshot (#3436) * Obsolete applicationengine snapshot * fix UT names * fix executioncontextstate --------- Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * [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 <cschuchardt88@gmail.com> Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * `[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 <shargon@gmail.com> Co-authored-by: Jimmy <jinghui@wayne.edu> * [`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 <jinghui@wayne.edu> Co-authored-by: Vitor Nazário Coelho <vncoelho@gmail.com> Co-authored-by: Fernando Diaz Toledano <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * update benchmark system (#3442) Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * [rpc] Extend `getversion` RPC response with additional protocol settings (#3443) * getversion * Extend client --------- Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * [Neo Core Add] add char support (#3441) * add char support * Update src/Neo/VM/Helper.cs * add char unit test --------- Co-authored-by: Shargon <shargon@gmail.com> * Stopped `RecoveryLogs` store from being created when `IgnoreRecoveryLogs` is `true` (#3444) Co-authored-by: Shargon <shargon@gmail.com> * [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 <shargon@gmail.com> * update accessibality. --------- Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * 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 <cschuchardt88@gmail.com> * not use linq * Update src/Neo/Plugins/UnhandledExceptionPolicy.cs Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com> * use ignore case * Update src/Plugins/TokensTracker/TokensTracker.cs * Update src/Neo/Plugins/Plugin.cs Co-authored-by: Shargon <shargon@gmail.com> --------- Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com> Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * [Neo Json Fix] Json null tests (#3450) * null operation * fix array --------- Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com> * Update README.md (#3459) * Update RpcServer.Blockchain.cs (#3458) Co-authored-by: Jimmy <jinghui@wayne.edu> * 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 <shargon@gmail.com> * Update src/Neo.Extensions/SecureStringExtensions.cs --------- Co-authored-by: Shargon <shargon@gmail.com> * [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 <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * 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 <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * `[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 <shargon@gmail.com> Co-authored-by: Jimmy <jinghui@wayne.edu> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * 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 <shargon@gmail.com> Co-authored-by: Jimmy <jinghui@wayne.edu> Co-authored-by: Jimmy <jimmy@r3e.network> * test GetApplicationLog (#3470) * test GetApplicationLog * filter execution type * Test_Commands; refactor * apply review suggestions --------- Co-authored-by: Shargon <shargon@gmail.com> * 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 <154295625+NGDAdmin@users.noreply.github.com> Co-authored-by: Jimmy <jinghui@wayne.edu> Co-authored-by: Jimmy <jimmy@r3e.network> * Add some UT (#3476) * Update UT_Utility.cs * TestGetContractState * Update ConstantTimeUtility.cs (#3472) - Fix typo Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: Jimmy <jinghui@wayne.edu> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * Test OracleService (#3475) * trigger https oracle * make it internal * return Task.CompletedTask --------- Co-authored-by: Jimmy <jimmy@r3e.network> Co-authored-by: Jimmy <jinghui@wayne.edu> Co-authored-by: Shargon <shargon@gmail.com> * [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 <cschuchardt88@gmail.com> Co-authored-by: Shargon <shargon@gmail.com> * 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 <vncoelho@gmail.com> * [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 <shargon@gmail.com> * [`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 <jinghui@wayne.edu> Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * [`Fix`] Neo Plugins github nuget (#3493) * Fixed Delete packages for github * Automatic * added continue-on-error: true --------- Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> * `[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 <shargon@gmail.com> Co-authored-by: Jimmy <jinghui@wayne.edu> * 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 <shargon@gmail.com> Co-authored-by: Jimmy <jinghui@wayne.edu> * update rvcount error message (#3504) * Added `CreateStruct` & Fixed `CreateMap` (#3494) * Added `CreateStruct`, Fixed CreateMap * Added test and comments --------- Co-authored-by: Jimmy <jinghui@wayne.edu> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> Co-authored-by: Shargon <shargon@gmail.com> * 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 <shaleva.ann@nspcc.ru> Co-authored-by: Jimmy <jinghui@wayne.edu> * 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 <shargon@gmail.com> Co-authored-by: Jimmy <jinghui@wayne.edu> * Related to #3508 (comment) (#3516) Co-authored-by: Jimmy <jinghui@wayne.edu> * [Benchmark] this pr adds more pocs to benchmark (#3512) * this pr adds more pocs to benchmark * format --------- Co-authored-by: Fernando Diaz Toledano <shargon@gmail.com> * 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> Co-authored-by: Shargon <shargon@gmail.com> * Circular reference error info in ToJson (#3522) Co-authored-by: Shargon <shargon@gmail.com> * [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 <shargon@gmail.com> * 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 <shargon@gmail.com> * fea: use canonical TryGet style in IReadOnlyStore (#3533) * Add references (#3529) Co-authored-by: Jimmy <jinghui@wayne.edu> * fix: concurrency conflict in NEP6Wallet.ToJson (#3527) * fix: concurrency conflict in NEP6Wallet.ToJson * Update also ChangePasssword * Reduce lock time --------- Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: Jimmy <jinghui@wayne.edu> * 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 <shargon@gmail.com> * standalone method to get exception stack trace and message * always return string --------- Co-authored-by: Jimmy <jinghui@wayne.edu> Co-authored-by: Shargon <shargon@gmail.com> * stack opcode example comments (#3546) * stack opcode example comments * move index into example --------- Co-authored-by: Jimmy <jinghui@wayne.edu> * Expose `GetInteropDescriptor` (#3545) * Expose GetInteropDescriptor * Update src/Neo/SmartContract/ApplicationEngine.cs --------- Co-authored-by: Jimmy <jinghui@wayne.edu> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: 陈志同 <bitcoin2077@outlook.com> Co-authored-by: Jimmy <jinghui@wayne.edu> Co-authored-by: NGD Admin <154295625+NGDAdmin@users.noreply.github.com> Co-authored-by: Owen <38493437+superboyiii@users.noreply.github.com> Co-authored-by: lingyido <lingyido@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Vitor Nazário Coelho <vncoelho@gmail.com> Co-authored-by: Anna Shaleva <shaleva.ann@nspcc.ru> Co-authored-by: Hecate2 <hecate2@qq.com> Co-authored-by: Hecate2 <2474101468@qq.com> Co-authored-by: Jimmy <jimmy@r3e.network> Co-authored-by: Mirage Mouse <bk@sundialmirage.com> Co-authored-by: nan01ab <yjcc201374@outlook.com>
Description
Fixes #3499
Type of change
Checklist: