Skip to content

Commit

Permalink
Merge pull request #3990 from planetarium/port/5.3.2-to-5.4.1
Browse files Browse the repository at this point in the history
🔀 Port 5.3.2 to 5.4.1
  • Loading branch information
s2quake authored Nov 21, 2024
2 parents 449e3cf + 54fbc41 commit dea6bfa
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 64 deletions.
5 changes: 5 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ Version 5.4.1

To be released.

- Ported changes from [Libplanet 5.3.2] release. [[#3973]]

[#3973]: https://github.com/planetarium/libplanet/pull/3973
[Libplanet 5.3.2]: https://www.nuget.org/packages/Libplanet/5.3.2


Version 5.4.0
-------------
Expand Down
12 changes: 0 additions & 12 deletions src/Libplanet/Blockchain/BlockChain.Validate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
using System.Linq;
using System.Numerics;
using System.Security.Cryptography;
using Bencodex.Types;
using Libplanet.Action;
using Libplanet.Action.State;
using Libplanet.Common;
Expand Down Expand Up @@ -196,17 +195,6 @@ internal Dictionary<Address, long> ValidateBlockNonces(
return nonceDeltas;
}

internal void ValidateBlockLoadActions(Block block)
{
foreach (Transaction tx in block.Transactions)
{
foreach (IValue rawAction in tx.Actions)
{
_ = ActionEvaluator.ActionLoader.LoadAction(block.Index, rawAction);
}
}
}

internal void ValidateBlock(Block block)
{
if (block.Index <= 0)
Expand Down
2 changes: 0 additions & 2 deletions src/Libplanet/Blockchain/BlockChain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -813,8 +813,6 @@ internal void Append(
.ToDictionary(signer => signer, signer => Store.GetTxNonce(Id, signer)),
block);

ValidateBlockLoadActions(block);

if (Policy.ValidateNextBlock(this, block) is { } bpve)
{
throw bpve;
Expand Down
50 changes: 0 additions & 50 deletions test/Libplanet.Tests/Blockchain/BlockChainTest.Append.cs
Original file line number Diff line number Diff line change
Expand Up @@ -651,56 +651,6 @@ void AssertTxIdSetEqual(
_blockChain.StagePolicy.Iterate(_blockChain, filtered: false).Select(tx => tx.Id));
}

[SkippableFact]
public void CannotAppendBlockWithInvalidActions()
{
var txSigner = new PrivateKey();
var unsignedInvalidTx = new UnsignedTx(
new TxInvoice(
_blockChain.Genesis.Hash,
DateTimeOffset.UtcNow,
new TxActionList((IValue)List.Empty.Add(new Text("Foo")))), // Invalid action
new TxSigningMetadata(txSigner.PublicKey, 1));
var invalidTx = new Transaction(
unsignedInvalidTx, unsignedInvalidTx.CreateSignature(txSigner));
var txs = new[]
{
Transaction.Create(
nonce: 0,
privateKey: txSigner,
genesisHash: _blockChain.Genesis.Hash,
actions: Array.Empty<DumbAction>().ToPlainValues()),
invalidTx,
Transaction.Create(
nonce: 2,
privateKey: txSigner,
genesisHash: _blockChain.Genesis.Hash,
actions: Array.Empty<DumbAction>().ToPlainValues()),
}.OrderBy(tx => tx.Id);
var evs = Array.Empty<EvidenceBase>();

var metadata = new BlockMetadata(
index: 1L,
timestamp: DateTimeOffset.UtcNow,
publicKey: _fx.Proposer.PublicKey,
previousHash: _blockChain.Genesis.Hash,
txHash: BlockContent.DeriveTxHash(txs),
lastCommit: null,
evidenceHash: null);
var preEval = new PreEvaluationBlock(
preEvaluationBlockHeader: new PreEvaluationBlockHeader(
metadata, metadata.DerivePreEvaluationHash()),
transactions: txs,
evidence: evs);
var block = preEval.Sign(
_fx.Proposer,
(HashDigest<SHA256>)_blockChain.GetNextStateRootHash(_blockChain.Tip.Hash));

Assert.Throws<InvalidActionException>(
() => _blockChain.Append(block, TestUtils.CreateBlockCommit(block)));
Assert.Equal(0, _blockChain.Tip.Index);
}

[SkippableFact]
public void DoesNotMigrateStateWithoutAction()
{
Expand Down

0 comments on commit dea6bfa

Please sign in to comment.