diff --git a/Lib9c b/Lib9c index b77fc8174..f8d681a6a 160000 --- a/Lib9c +++ b/Lib9c @@ -1 +1 @@ -Subproject commit b77fc8174af2f54bb276191d5a016009e600e7c7 +Subproject commit f8d681a6a622431eacb989477071613ce2b5fc5c diff --git a/NineChronicles.Headless/ActionEvaluationPublisher.cs b/NineChronicles.Headless/ActionEvaluationPublisher.cs index 96f293c2b..623da1aa9 100644 --- a/NineChronicles.Headless/ActionEvaluationPublisher.cs +++ b/NineChronicles.Headless/ActionEvaluationPublisher.cs @@ -465,10 +465,15 @@ await _hub.BroadcastRenderBlockAsync( IAccountState output = _blockChainStates.GetAccountState(ev.OutputState); IAccountState input = _blockChainStates.GetAccountState(ev.PreviousState); AccountDiff diff = AccountDiff.Create(input, output); - if (!TargetAddresses.Any(diff.StateDiffs.Keys.Append(ev.Signer).Contains)) + var updatedAddresses = diff.StateDiffs.Keys + .Union(diff.FungibleAssetValueDiffs.Select(kv => kv.Key.Item1)) + .Append(ev.Signer) + .ToHashSet(); + if (!TargetAddresses.Any(updatedAddresses.Contains)) { return; } + var encodeElapsedMilliseconds = stopwatch.ElapsedMilliseconds; var eval = new NCActionEvaluation(pa, ev.Signer, ev.BlockIndex, ev.OutputState, ev.Exception, ev.PreviousState, ev.RandomSeed, extra);