core: implement System.Callback.CreateFromMethod interop

Support creating callbacks from contract methods.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
Evgenii Stratonikov 2020-07-27 12:23:48 +03:00
parent f96c217aba
commit c54b45e76d
4 changed files with 132 additions and 3 deletions

View file

@ -42,6 +42,7 @@ var systemInterops = []interop.Function{
{Name: "System.Blockchain.GetTransactionFromBlock", Func: bcGetTransactionFromBlock, Price: 1000000, RequiredFlags: smartcontract.AllowStates},
{Name: "System.Blockchain.GetTransactionHeight", Func: bcGetTransactionHeight, Price: 1000000, RequiredFlags: smartcontract.AllowStates},
{Name: "System.Callback.Create", Func: callback.Create, Price: 400},
{Name: "System.Callback.CreateFromMethod", Func: callback.CreateFromMethod, Price: 1000000},
{Name: "System.Callback.Invoke", Func: callback.Invoke, Price: 1000000},
{Name: "System.Contract.Call", Func: contractCall, Price: 1000000, RequiredFlags: smartcontract.AllowCall},
{Name: "System.Contract.CallEx", Func: contractCallEx, Price: 1000000, RequiredFlags: smartcontract.AllowCall},