From ce7a22c390f04e328fc060b6ea37d203d19b6984 Mon Sep 17 00:00:00 2001 From: Roman Khimov Date: Fri, 1 Jul 2022 18:22:16 +0300 Subject: [PATCH 1/2] docs: fix header levels in rpc.md --- docs/rpc.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/rpc.md b/docs/rpc.md index acf02bdf0..4d6ee05dc 100644 --- a/docs/rpc.md +++ b/docs/rpc.md @@ -110,7 +110,7 @@ This method doesn't work for the Ledger contract, you can get data via regular a native contract by its name (case-insensitive), unlike the C# node where it only possible for index or hash. -#### `getnep11balances` and `getnep17balances` +##### `getnep11balances` and `getnep17balances` neo-go implementation of `getnep11balances` and `getnep17balances` does not perform tracking of NEP-11 and NEP-17 balances for each account as it is done in the C# node. Instead, a neo-go node maintains a list of standard-compliant @@ -134,7 +134,7 @@ latest state synchronization point P the node working against, `LastUpdatedBlock` equals P. For NEP-11 NFTs `LastUpdatedBlock` is equal for all tokens of the same asset. -#### `getnep11transfers` and `getnep17transfers` +##### `getnep11transfers` and `getnep17transfers` `transfernotifyindex` is not tracked by NeoGo, thus this field is always zero. ### Unsupported methods From a535c220d16d6a47d56965c36e8f3e5f42c68788 Mon Sep 17 00:00:00 2001 From: Roman Khimov Date: Fri, 1 Jul 2022 18:44:59 +0300 Subject: [PATCH 2/2] docs: add a compatibility note about #2563 problem --- docs/rpc.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/rpc.md b/docs/rpc.md index 4d6ee05dc..18b15feb4 100644 --- a/docs/rpc.md +++ b/docs/rpc.md @@ -76,6 +76,25 @@ which would yield the response: #### Implementation notices +##### JSON representation of enumerations + +C# implementation contains a number of enumerations and while it outputs them +into JSON as comma-separated strings (or just strings if only one value is +allowed for this type) it accepts pure numbers for input (see #2563 for +example). NeoGo currently doesn't support this behavior. This affects the +following data types: + * transaction attribute type + * oracle response code + * transaction witness scope + * rule witness action + * condition rule witness type + * function call flag + * function call parameter type + * execution trigger type + * stack item type + +Any call that takes any of these types for input in JSON format is affected. + ##### `invokefunction` neo-go implementation of `invokefunction` does not return `tx`