diff --git a/pkg/compiler/syscall.go b/pkg/compiler/syscall.go index e93d2f484..be1b8a9c9 100644 --- a/pkg/compiler/syscall.go +++ b/pkg/compiler/syscall.go @@ -52,6 +52,9 @@ var syscalls = map[string]map[string]string{ "Create": "System.Contract.Create", "Destroy": "System.Contract.Destroy", "Update": "System.Contract.Update", + + "IsStandard": "System.Contract.IsStandard", + "CreateStandardAccount": "System.Contract.CreateStandardAccount", }, "iterator": { "Concat": "System.Iterator.Concat", diff --git a/pkg/interop/contract/contract.go b/pkg/interop/contract/contract.go index 509b41a17..12e530bc9 100644 --- a/pkg/interop/contract/contract.go +++ b/pkg/interop/contract/contract.go @@ -32,3 +32,15 @@ func Update(script []byte, manifest []byte) Contract { // not by any outside code. When contract is deleted all associated storage // items are deleted too. This function uses `System.Contract.Destroy` syscall. func Destroy() {} + +// IsStandard checks if contract with provided hash is a standard signature/multisig contract. +// This function uses `System.Contract.IsStandard` syscall. +func IsStandard(h []byte) bool { + return false +} + +// CreateStandardAccount calculates script hash of a given public key. +// This function uses `System.Contract.CreateStandardAccount` syscall. +func CreateStandardAccount(pub []byte) []byte { + return nil +}