libplanet icon indicating copy to clipboard operation
libplanet copied to clipboard

Blockchain in C#/.NET for on-chain, decentralized gaming

Results 238 libplanet issues
Sort by recently updated
recently updated
newest added

### Context 1. `Vote` is verified on the constructor 2. `Vote` always have non-null `ValidatorPublicKey`.

We only need single "next state root hash" at any time for a `BlockChain` object and this does not need to be tracked in storage. As for `BlockChain.GetNextStateRootHash()` method, there...

There are numerous issues related to this problem. - `CreateContext()` can create a `Context` with a wrong `ValidatorSet` https://github.com/planetarium/libplanet/blob/7bbce0e6f6f5c3477c0d7ebb8a283040a3d20bf9/Libplanet.Net/Consensus/ConsensusContext.cs#L455-L461 - `CreateContext()` can be called with any `height` that is greater...

Also see #3729. This was rolled back due to performance reasons on the Unity side. However, this security vulnerability must be patched ASAP.

After #3789, this is no longer required. The downside would be that if one wants to keep backward compatibility with a single dll, the old behavior must be implemented on...

There is no real code path that is actually taken within `IActionEvaluator` for past PoW `Block`s. - In [lib9c] and above, evaluate calls are dispatched to other binaries, so it...

Now when I try to build a project including 4.4.1 Libplanet with the .NET 8 SDK, I am unable to build it due to a security warning. > Libplanet.csproj: Error...

https://github.com/planetarium/libplanet/blob/f3d6674a59cb00a961e67b68c8090d43de6dbc92/Libplanet.Tests/TestUtils.cs#L429-L442 Action `Initialize()` updates validator set of `IWorld` with given parameter `validatorSet`. So above code, that iterates validatorSet, is redundant. (`Initialize()` only needs to be called once.)

good first issue

If `ConsensusContext` receives a message with higher height than current height, it tries to create a new `Context` with height of received message via `ConsensusContext.CreateContext()`. https://github.com/planetarium/libplanet/blob/690a98c0664abf024c89dc52a04b14e9f6943eaa/Libplanet.Net/Consensus/ConsensusContext.cs#L250-L253 But `ConsensusContext.CreateContext()` creates `Context`...

bug

# Context [`PreEvaluationBlock`](https://docs.libplanet.io/4.3.0/api/Libplanet.Types.Blocks.IPreEvaluationBlock.html) played an important role in the days when Libplanet ran on PoW. The idea of ​​`HashRandom`, which determines the Hash before executing a transaction and uses it...

suggestion
discussion needed
Breaking Change