diff --git a/src/TokensTracker/Trackers/NEP-11/Nep11Tracker.cs b/src/TokensTracker/Trackers/NEP-11/Nep11Tracker.cs index 35a579eb7..513132163 100644 --- a/src/TokensTracker/Trackers/NEP-11/Nep11Tracker.cs +++ b/src/TokensTracker/Trackers/NEP-11/Nep11Tracker.cs @@ -93,7 +93,18 @@ public override void OnPersist(NeoSystem system, Block block, DataCache snapshot Log($"{state.Hash} is not nft!", LogLevel.Warning); continue; } - + if (balanceMethod != null && + !(balanceMethod.Parameters[0].Type == ContractParameterType.Hash160 && balanceMethod.ReturnType == ContractParameterType.Integer)) + { + Log($"{state.Hash} is not nft:balance1!", LogLevel.Warning); + continue; + } + if (balanceMethod2 != null && + !(balanceMethod2.Parameters[0].Type == ContractParameterType.Hash160 && balanceMethod2.Parameters[1].Type == ContractParameterType.ByteArray && balanceMethod2.ReturnType == ContractParameterType.Integer)) + { + Log($"{state.Hash} is not nft:balance2!", LogLevel.Warning); + continue; + } var isDivisible = balanceMethod2 != null; contracts[transferRecord.asset] = (isDivisible, state); }