diff --git a/src/Neo/SmartContract/ApplicationEngine.cs b/src/Neo/SmartContract/ApplicationEngine.cs index eb236463af..a365ac49c3 100644 --- a/src/Neo/SmartContract/ApplicationEngine.cs +++ b/src/Neo/SmartContract/ApplicationEngine.cs @@ -384,11 +384,13 @@ private ExecutionContext CallContractInternal(ContractState contract, ContractMe // Check whitelist + var isWhiteListed = false; if (IsHardforkEnabled(Hardfork.HF_Faun) && NativeContract.Policy.IsWhitelistFeeContract(SnapshotCache, contract.Hash, method, out var fixedFee)) { AddFee(fixedFee.Value * ApplicationEngine.FeeFactor); state.WhiteListed = true; + isWhiteListed = true; } if (invocationCounter.TryGetValue(contract.Hash, out var counter)) @@ -408,6 +410,7 @@ private ExecutionContext CallContractInternal(ContractState contract, ContractMe var contextNew = LoadContract(contract, method, flags & callingFlags); state = contextNew.GetState(); state.CallingContext = currentContext; + state.WhiteListed = isWhiteListed; for (int i = args.Count - 1; i >= 0; i--) contextNew.EvaluationStack.Push(args[i]);