You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Initially, invokecontractverify RPC API was created to define network fee for contract witness verification (neo-project/neo#1977). But it performs a System.Contract.Call instead of behaving like Helper.VerifyWitness. So the resulting RPC verification fee got from invokecontractverify is different from the one we got during the real witness verification.
During real contract witness verification, the whole contract's script is loaded into VM, and then we jump to the verify method. Thus, to define the exact contract verification price, we should act like this (and not just perform the System.Contract.Call of the verify method).
Expected behavior invokecontractverify behaviour should exactly match the Helper.VerifyWitness behaviour to calculate contract witness verification fee properly.
This api requires signers' private key in rpc node wallet, how to use it in client side? I wonder even after repair the behaviour, it cannot work properly in your scenarios.
Describe the bug
Initially,
invokecontractverify
RPC API was created to define network fee for contract witness verification (neo-project/neo#1977). But it performs aSystem.Contract.Call
instead of behaving like Helper.VerifyWitness. So the resulting RPC verification fee got frominvokecontractverify
is different from the one we got during the real witness verification.During real contract witness verification, the whole contract's script is loaded into VM, and then we jump to the verify method. Thus, to define the exact contract verification price, we should act like this (and not just perform the
System.Contract.Call
of theverify
method).Expected behavior
invokecontractverify
behaviour should exactly match theHelper.VerifyWitness
behaviour to calculate contract witness verification fee properly.See nspcc-dev/neo-go#1825 for the reference implementation.
Platform:
The text was updated successfully, but these errors were encountered: