diff --git a/src/LevelDBStore/Plugins/Storage/Snapshot.cs b/src/LevelDBStore/Plugins/Storage/Snapshot.cs index aec33b8d1..46d70d6fb 100644 --- a/src/LevelDBStore/Plugins/Storage/Snapshot.cs +++ b/src/LevelDBStore/Plugins/Storage/Snapshot.cs @@ -37,7 +37,7 @@ public void Dispose() snapshot.Dispose(); } - public IEnumerable<(byte[] Key, byte[] Value)> Seek(byte table, byte[] prefix, SeekDirection direction) + public IEnumerable<(byte[] Key, byte[] Value)> Seek(byte table, byte[] prefix, SeekDirection direction = SeekDirection.Forward) { return db.Seek(options, table, prefix, direction, (k, v) => (k[1..], v)); } diff --git a/src/LevelDBStore/Plugins/Storage/Store.cs b/src/LevelDBStore/Plugins/Storage/Store.cs index 2d59258c7..5a6503e3d 100644 --- a/src/LevelDBStore/Plugins/Storage/Store.cs +++ b/src/LevelDBStore/Plugins/Storage/Store.cs @@ -51,7 +51,7 @@ public void Dispose() db.Dispose(); } - public IEnumerable<(byte[], byte[])> Seek(byte table, byte[] prefix, SeekDirection direction) + public IEnumerable<(byte[], byte[])> Seek(byte table, byte[] prefix, SeekDirection direction = SeekDirection.Forward) { return db.Seek(ReadOptions.Default, table, prefix, direction, (k, v) => (k[1..], v)); } diff --git a/src/RpcClient/Models/RpcInvokeResult.cs b/src/RpcClient/Models/RpcInvokeResult.cs index c58c0afe4..eeae4518c 100644 --- a/src/RpcClient/Models/RpcInvokeResult.cs +++ b/src/RpcClient/Models/RpcInvokeResult.cs @@ -22,7 +22,7 @@ public JObject ToJson() JObject json = new JObject(); json["script"] = Script; json["state"] = State; - json["gas_consumed"] = GasConsumed; + json["gasconsumed"] = GasConsumed; try { json["stack"] = new JArray(Stack.Select(p => p.ToJson())); @@ -41,7 +41,7 @@ public static RpcInvokeResult FromJson(JObject json) RpcInvokeResult invokeScriptResult = new RpcInvokeResult(); invokeScriptResult.Script = json["script"].AsString(); invokeScriptResult.State = json["state"].TryGetEnum(); - invokeScriptResult.GasConsumed = json["gas_consumed"].AsString(); + invokeScriptResult.GasConsumed = json["gasconsumed"].AsString(); try { invokeScriptResult.Stack = ((JArray)json["stack"]).Select(p => ContractParameter.FromJson(p)).ToArray(); diff --git a/src/RpcClient/Models/RpcNep5Balances.cs b/src/RpcClient/Models/RpcNep5Balances.cs index 0b8f79c17..0ebdc2840 100644 --- a/src/RpcClient/Models/RpcNep5Balances.cs +++ b/src/RpcClient/Models/RpcNep5Balances.cs @@ -42,9 +42,9 @@ public class RpcNep5Balance public JObject ToJson() { JObject json = new JObject(); - json["asset_hash"] = AssetHash.ToString(); + json["assethash"] = AssetHash.ToString(); json["amount"] = Amount.ToString(); - json["last_updated_block"] = LastUpdatedBlock; + json["lastupdatedblock"] = LastUpdatedBlock; return json; } @@ -52,9 +52,9 @@ public static RpcNep5Balance FromJson(JObject json) { RpcNep5Balance balance = new RpcNep5Balance { - AssetHash = UInt160.Parse(json["asset_hash"].AsString()), + AssetHash = UInt160.Parse(json["assethash"].AsString()), Amount = BigInteger.Parse(json["amount"].AsString()), - LastUpdatedBlock = (uint)json["last_updated_block"].AsNumber() + LastUpdatedBlock = (uint)json["lastupdatedblock"].AsNumber() }; return balance; } diff --git a/src/RpcClient/Models/RpcNep5Transfers.cs b/src/RpcClient/Models/RpcNep5Transfers.cs index f44180554..e2eb7d01e 100644 --- a/src/RpcClient/Models/RpcNep5Transfers.cs +++ b/src/RpcClient/Models/RpcNep5Transfers.cs @@ -56,12 +56,12 @@ public JObject ToJson() { JObject json = new JObject(); json["timestamp"] = TimestampMS; - json["asset_hash"] = AssetHash.ToString(); - json["transfer_address"] = UserScriptHash.ToAddress(); + json["assethash"] = AssetHash.ToString(); + json["transferaddress"] = UserScriptHash.ToAddress(); json["amount"] = Amount.ToString(); - json["block_index"] = BlockIndex; - json["transfer_notify_index"] = TransferNotifyIndex; - json["tx_hash"] = TxHash.ToString(); + json["blockindex"] = BlockIndex; + json["transfernotifyindex"] = TransferNotifyIndex; + json["txhash"] = TxHash.ToString(); return json; } @@ -69,12 +69,12 @@ public static RpcNep5Transfer FromJson(JObject json) { RpcNep5Transfer transfer = new RpcNep5Transfer(); transfer.TimestampMS = (ulong)json["timestamp"].AsNumber(); - transfer.AssetHash = UInt160.Parse(json["asset_hash"].AsString()); - transfer.UserScriptHash = json["transfer_address"].AsString().ToScriptHash(); + transfer.AssetHash = UInt160.Parse(json["assethash"].AsString()); + transfer.UserScriptHash = json["transferaddress"].AsString().ToScriptHash(); transfer.Amount = BigInteger.Parse(json["amount"].AsString()); - transfer.BlockIndex = (uint)json["block_index"].AsNumber(); - transfer.TransferNotifyIndex = (ushort)json["transfer_notify_index"].AsNumber(); - transfer.TxHash = UInt256.Parse(json["tx_hash"].AsString()); + transfer.BlockIndex = (uint)json["blockindex"].AsNumber(); + transfer.TransferNotifyIndex = (ushort)json["transfernotifyindex"].AsNumber(); + transfer.TxHash = UInt256.Parse(json["txhash"].AsString()); return transfer; } } diff --git a/src/RpcClient/Models/RpcTransaction.cs b/src/RpcClient/Models/RpcTransaction.cs index b376c2cdb..92a9f3290 100644 --- a/src/RpcClient/Models/RpcTransaction.cs +++ b/src/RpcClient/Models/RpcTransaction.cs @@ -26,7 +26,7 @@ public JObject ToJson() json["blocktime"] = BlockTime; if (VMState != null) { - json["vm_state"] = VMState; + json["vmstate"] = VMState; } } return json; @@ -41,7 +41,7 @@ public static RpcTransaction FromJson(JObject json) transaction.BlockHash = UInt256.Parse(json["blockhash"].AsString()); transaction.Confirmations = (uint)json["confirmations"].AsNumber(); transaction.BlockTime = (ulong)json["blocktime"].AsNumber(); - transaction.VMState = json["vm_state"]?.TryGetEnum(); + transaction.VMState = json["vmstate"]?.TryGetEnum(); } return transaction; } diff --git a/src/RpcClient/Models/RpcVersion.cs b/src/RpcClient/Models/RpcVersion.cs index 11d831d74..c66015218 100644 --- a/src/RpcClient/Models/RpcVersion.cs +++ b/src/RpcClient/Models/RpcVersion.cs @@ -15,20 +15,20 @@ public class RpcVersion public JObject ToJson() { JObject json = new JObject(); - json["tcp_port"] = TcpPort; - json["ws_port"] = WsPort; + json["tcpport"] = TcpPort; + json["wsport"] = WsPort; json["nonce"] = Nonce; - json["user_agent"] = UserAgent; + json["useragent"] = UserAgent; return json; } public static RpcVersion FromJson(JObject json) { RpcVersion version = new RpcVersion(); - version.TcpPort = (int)json["tcp_port"].AsNumber(); - version.WsPort = (int)json["ws_port"].AsNumber(); + version.TcpPort = (int)json["tcpport"].AsNumber(); + version.WsPort = (int)json["wsport"].AsNumber(); version.Nonce = (uint)json["nonce"].AsNumber(); - version.UserAgent = json["user_agent"].AsString(); + version.UserAgent = json["useragent"].AsString(); return version; } } diff --git a/src/RpcClient/RpcClient.csproj b/src/RpcClient/RpcClient.csproj index 532622216..f21d61127 100644 --- a/src/RpcClient/RpcClient.csproj +++ b/src/RpcClient/RpcClient.csproj @@ -14,7 +14,7 @@ - + diff --git a/src/RpcClient/Utility.cs b/src/RpcClient/Utility.cs index ff65c9377..beb4eb4f4 100644 --- a/src/RpcClient/Utility.cs +++ b/src/RpcClient/Utility.cs @@ -98,7 +98,7 @@ public static Block BlockFromJson(JObject json) Block block = new Block(); BlockBase blockBase = block; blockBase.FromJson(json); - block.ConsensusData = ConsensusDataFromJson(json["consensus_data"]); + block.ConsensusData = ConsensusDataFromJson(json["consensusdata"]); block.Transactions = ((JArray)json["tx"]).Select(p => TransactionFromJson(p)).ToArray(); return block; } @@ -120,9 +120,9 @@ public static Transaction TransactionFromJson(JObject json) tx.Version = byte.Parse(json["version"].AsString()); tx.Nonce = uint.Parse(json["nonce"].AsString()); tx.Sender = json["sender"].AsString().ToScriptHash(); - tx.SystemFee = long.Parse(json["sys_fee"].AsString()); - tx.NetworkFee = long.Parse(json["net_fee"].AsString()); - tx.ValidUntilBlock = uint.Parse(json["valid_until_block"].AsString()); + tx.SystemFee = long.Parse(json["sysfee"].AsString()); + tx.NetworkFee = long.Parse(json["netfee"].AsString()); + tx.ValidUntilBlock = uint.Parse(json["validuntilblock"].AsString()); tx.Attributes = ((JArray)json["attributes"]).Select(p => TransactionAttributeFromJson(p)).ToArray(); tx.Script = Convert.FromBase64String(json["script"].AsString()); tx.Witnesses = ((JArray)json["witnesses"]).Select(p => WitnessFromJson(p)).ToArray(); diff --git a/src/RpcNep5Tracker/RpcNep5Tracker.cs b/src/RpcNep5Tracker/RpcNep5Tracker.cs index c2c58c123..2f1788e85 100644 --- a/src/RpcNep5Tracker/RpcNep5Tracker.cs +++ b/src/RpcNep5Tracker/RpcNep5Tracker.cs @@ -33,7 +33,7 @@ public class RpcNep5Tracker : Plugin, IPersistencePlugin private uint _maxResults; private Snapshot _levelDbSnapshot; - public override string Description => "Enquiries NEP-5 balance and transactions history of accounts through RPC"; + public override string Description => "Enquiries NEP-5 balances and transaction history of accounts through RPC"; public RpcNep5Tracker() { @@ -233,12 +233,12 @@ public bool ShouldThrowExceptionFromCommit(Exception ex) if (++resultCount > _maxResults) break; JObject transfer = new JObject(); transfer["timestamp"] = key.TimestampMS; - transfer["asset_hash"] = key.AssetScriptHash.ToString(); - transfer["transfer_address"] = value.UserScriptHash.ToAddress(); + transfer["assethash"] = key.AssetScriptHash.ToString(); + transfer["transferaddress"] = value.UserScriptHash.ToAddress(); transfer["amount"] = value.Amount.ToString(); - transfer["block_index"] = value.BlockIndex; - transfer["transfer_notify_index"] = key.BlockXferNotificationIndex; - transfer["tx_hash"] = value.TxHash.ToString(); + transfer["blockindex"] = value.BlockIndex; + transfer["transfernotifyindex"] = key.BlockXferNotificationIndex; + transfer["txhash"] = value.TxHash.ToString(); parentJArray.Add(transfer); } } @@ -288,9 +288,9 @@ public JObject GetNep5Balances(JArray _params) JObject balance = new JObject(); if (Blockchain.Singleton.View.Contracts.TryGet(key.AssetScriptHash) is null) continue; - balance["asset_hash"] = key.AssetScriptHash.ToString(); + balance["assethash"] = key.AssetScriptHash.ToString(); balance["amount"] = value.Balance.ToString(); - balance["last_updated_block"] = value.LastUpdatedBlock; + balance["lastupdatedblock"] = value.LastUpdatedBlock; balances.Add(balance); } return json; diff --git a/src/RpcServer/RpcServer.Blockchain.cs b/src/RpcServer/RpcServer.Blockchain.cs index 0bb0b0371..60d736da4 100644 --- a/src/RpcServer/RpcServer.Blockchain.cs +++ b/src/RpcServer/RpcServer.Blockchain.cs @@ -145,7 +145,7 @@ private JObject GetRawTransaction(JArray _params) json["blockhash"] = header.Hash.ToString(); json["confirmations"] = Blockchain.Singleton.Height - header.Index + 1; json["blocktime"] = header.Timestamp; - json["vm_state"] = txState.VMState; + json["vmstate"] = txState.VMState; } return json; } diff --git a/src/RpcServer/RpcServer.Node.cs b/src/RpcServer/RpcServer.Node.cs index f42fd96c6..0696ab7f3 100644 --- a/src/RpcServer/RpcServer.Node.cs +++ b/src/RpcServer/RpcServer.Node.cs @@ -60,10 +60,10 @@ private static JObject GetRelayResult(VerifyResult reason, UInt256 hash) private JObject GetVersion(JArray _params) { JObject json = new JObject(); - json["tcpPort"] = LocalNode.Singleton.ListenerTcpPort; - json["wsPort"] = LocalNode.Singleton.ListenerWsPort; + json["tcpport"] = LocalNode.Singleton.ListenerTcpPort; + json["wsport"] = LocalNode.Singleton.ListenerWsPort; json["nonce"] = LocalNode.Nonce; - json["userAgent"] = LocalNode.UserAgent; + json["useragent"] = LocalNode.UserAgent; return json; } diff --git a/src/RpcServer/RpcServer.SmartContract.cs b/src/RpcServer/RpcServer.SmartContract.cs index bffb524c2..cb477f41a 100644 --- a/src/RpcServer/RpcServer.SmartContract.cs +++ b/src/RpcServer/RpcServer.SmartContract.cs @@ -2,17 +2,16 @@ #pragma warning disable IDE0060 using Neo.IO.Json; +using Neo.Ledger; using Neo.Network.P2P.Payloads; using Neo.Persistence; using Neo.SmartContract; +using Neo.SmartContract.Native; using Neo.VM; +using Neo.Wallets; using System; using System.IO; using System.Linq; -using Neo.IO; -using Neo.Ledger; -using Neo.SmartContract.Native; -using Neo.Wallets; namespace Neo.Plugins { @@ -61,7 +60,7 @@ private JObject GetInvokeResult(byte[] script, IVerifiable checkWitnessHashes = JObject json = new JObject(); json["script"] = script.ToHexString(); json["state"] = engine.State; - json["gas_consumed"] = engine.GasConsumed.ToString(); + json["gasconsumed"] = engine.GasConsumed.ToString(); try { json["stack"] = new JArray(engine.ResultStack.Select(p => p.ToJson())); diff --git a/src/RpcServer/RpcServer.csproj b/src/RpcServer/RpcServer.csproj index e3e8a3855..97a64275b 100644 --- a/src/RpcServer/RpcServer.csproj +++ b/src/RpcServer/RpcServer.csproj @@ -15,7 +15,7 @@ - + diff --git a/tests/Neo.Network.RPC.Tests/RpcTestCases.json b/tests/Neo.Network.RPC.Tests/RpcTestCases.json index bd934923d..644654b96 100644 --- a/tests/Neo.Network.RPC.Tests/RpcTestCases.json +++ b/tests/Neo.Network.RPC.Tests/RpcTestCases.json @@ -85,7 +85,7 @@ "verification": "EQ==" } ], - "consensus_data": { + "consensusdata": { "primary": 0, "nonce": "000000007c2bac1d" }, @@ -96,9 +96,9 @@ "version": 0, "nonce": 0, "sender": "NeN4xPMn4kHoj7G8Lciq9oorgLTvqt4qi1", - "sys_fee": "0", - "net_fee": "0", - "valid_until_block": 0, + "sysfee": "0", + "netfee": "0", + "validuntilblock": 0, "attributes": [], "script": "QRI+f+g=", "witnesses": [ @@ -140,7 +140,7 @@ "verification": "EQ==" } ], - "consensus_data": { + "consensusdata": { "primary": 0, "nonce": "000000007c2bac1d" }, @@ -151,9 +151,9 @@ "version": 0, "nonce": 0, "sender": "NeN4xPMn4kHoj7G8Lciq9oorgLTvqt4qi1", - "sys_fee": "0", - "net_fee": "0", - "valid_until_block": 0, + "sysfee": "0", + "netfee": "0", + "validuntilblock": 0, "attributes": [], "script": "QRI+f+g=", "witnesses": [ @@ -338,13 +338,13 @@ } ], "offset": 0, - "returnType": "ByteArray" + "returntype": "ByteArray" }, { "name": "Destroy", "parameters": [], "offset": 400, - "returnType": "Boolean" + "returntype": "Boolean" }, { "name": "Migrate", @@ -359,7 +359,7 @@ } ], "offset": 408, - "returnType": "Boolean" + "returntype": "Boolean" }, { "name": "BalanceOf", @@ -370,43 +370,43 @@ } ], "offset": 474, - "returnType": "Integer" + "returntype": "Integer" }, { "name": "Decimals", "parameters": [], "offset": 585, - "returnType": "Integer" + "returntype": "Integer" }, { "name": "Deploy", "parameters": [], "offset": 610, - "returnType": "Boolean" + "returntype": "Boolean" }, { "name": "Name", "parameters": [], "offset": 763, - "returnType": "String" + "returntype": "String" }, { "name": "Symbol", "parameters": [], "offset": 787, - "returnType": "String" + "returntype": "String" }, { "name": "SupportedStandards", "parameters": [], "offset": 793, - "returnType": "Array" + "returntype": "Array" }, { "name": "TotalSupply", "parameters": [], "offset": 827, - "returnType": "Integer" + "returntype": "Integer" } ], "events": [ @@ -436,7 +436,7 @@ } ], "trusts": [], - "safeMethods": [], + "safemethods": [], "extra": null } } @@ -505,9 +505,9 @@ "version": 0, "nonce": 969006668, "sender": "NVVwFw6XyhtRCFQ8SpUTMdPyYt4Vd9A1XQ", - "sys_fee": "100000000", - "net_fee": "1272390", - "valid_until_block": 2104625, + "sysfee": "100000000", + "netfee": "1272390", + "validuntilblock": 2104625, "attributes": [], "script": "AwAQpdToAAAADBSZA7DD0pKYj+vl8wagL2VOousWKQwUaSWqVUcSQ5qcYTuhFO+j+sI928oTwAwIdHJhbnNmZXIMFDt9NxHG8Mz5sdypA9G/odiW8SOMQWJ9W1I5", "witnesses": [ @@ -519,7 +519,7 @@ "blockhash": "0xc1ed259e394c9cd93c1e0eb1e0f144c0d10da64861a24c0084f0d98270b698f1", "confirmations": 643, "blocktime": 1579417249620, - "vm_state": "HALT" + "vmstate": "HALT" } } }, @@ -645,10 +645,10 @@ "jsonrpc": "2.0", "id": 1, "result": { - "tcp_port": 20333, - "ws_port": 20334, + "tcpport": 20333, + "wsport": 20334, "nonce": 592651621, - "user_agent": "/Neo:3.0.0-preview1/" + "useragent": "/Neo:3.0.0-preview1/" } } }, @@ -709,7 +709,7 @@ "result": { "script": "0c1426ae7c6c9861ec418468c1f0fdc4a7f2963eb89111c00c0962616c616e63654f660c143b7d3711c6f0ccf9b1dca903d1bfa1d896f1238c41627d5b52", "state": "HALT", - "gas_consumed": "2007570", + "gasconsumed": "2007570", "stack": [ { "type": "Integer", @@ -734,7 +734,7 @@ "result": { "script": "10c30c046e616d650c143b7d3711c6f0ccf9b1dca903d1bfa1d896f1238c41627d5b5210c30c0673796d626f6c0c143b7d3711c6f0ccf9b1dca903d1bfa1d896f1238c41627d5b5210c30c08646563696d616c730c143b7d3711c6f0ccf9b1dca903d1bfa1d896f1238c41627d5b5210c30c0b746f74616c537570706c790c143b7d3711c6f0ccf9b1dca903d1bfa1d896f1238c41627d5b52", "state": "HALT", - "gas_consumed": "5061560", + "gasconsumed": "5061560", "stack": [ { "type": "ByteArray", @@ -878,7 +878,7 @@ "result": { "script": "10c30c08646563696d616c730c143b7d3711c6f0ccf9b1dca903d1bfa1d896f1238c41627d5b52", "state": "HALT", - "gas_consumed": "5061560", + "gasconsumed": "5061560", "stack": [ { "type": "Integer", @@ -1010,9 +1010,9 @@ "version": 0, "nonce": 1553700339, "sender": "NVVwFw6XyhtRCFQ8SpUTMdPyYt4Vd9A1XQ", - "sys_fee": "100000000", - "net_fee": "1272390", - "valid_until_block": 2105487, + "sysfee": "100000000", + "netfee": "1272390", + "validuntilblock": 2105487, "attributes": [], "cosigners": [ { @@ -1061,9 +1061,9 @@ "version": 0, "nonce": 34429660, "sender": "NUMK37TV9yYKbJr1Gufh74nZiM623eBLqX", - "sys_fee": "100000000", - "net_fee": "2483780", - "valid_until_block": 2105494, + "sysfee": "100000000", + "netfee": "2483780", + "validuntilblock": 2105494, "attributes": [], "cosigners": [ { @@ -1106,9 +1106,9 @@ "version": 0, "nonce": 330056065, "sender": "NUMK37TV9yYKbJr1Gufh74nZiM623eBLqX", - "sys_fee": "100000000", - "net_fee": "2381780", - "valid_until_block": 2105500, + "sysfee": "100000000", + "netfee": "2381780", + "validuntilblock": 2105500, "attributes": [], "cosigners": [ { @@ -1210,32 +1210,32 @@ "sent": [ { "timestamp": 1579250114541, - "asset_hash": "0x8c23f196d8a1bfd103a9dcb1f9ccf0c611377d3b", - "transfer_address": "NVVwFw6XyhtRCFQ8SpUTMdPyYt4Vd9A1XQ", + "assethash": "0x8c23f196d8a1bfd103a9dcb1f9ccf0c611377d3b", + "transferaddress": "NVVwFw6XyhtRCFQ8SpUTMdPyYt4Vd9A1XQ", "amount": "1000000000", - "block_index": 603, - "transfer_notify_index": 0, - "tx_hash": "0x5e177b8d1dc33e9103c0cfd42f6dbf4efbe43029e2d6a18ea5ba0cb8437056b3" + "blockindex": 603, + "transfernotifyindex": 0, + "txhash": "0x5e177b8d1dc33e9103c0cfd42f6dbf4efbe43029e2d6a18ea5ba0cb8437056b3" }, { "timestamp": 1579406581635, - "asset_hash": "0x8c23f196d8a1bfd103a9dcb1f9ccf0c611377d3b", - "transfer_address": "NUMK37TV9yYKbJr1Gufh74nZiM623eBLqX", + "assethash": "0x8c23f196d8a1bfd103a9dcb1f9ccf0c611377d3b", + "transferaddress": "NUMK37TV9yYKbJr1Gufh74nZiM623eBLqX", "amount": "1000000000", - "block_index": 1525, - "transfer_notify_index": 0, - "tx_hash": "0xc9c618b48972b240e0058d97b8d79b807ad51015418c84012765298526aeb77d" + "blockindex": 1525, + "transfernotifyindex": 0, + "txhash": "0xc9c618b48972b240e0058d97b8d79b807ad51015418c84012765298526aeb77d" } ], "received": [ { "timestamp": 1579250114541, - "asset_hash": "0x8c23f196d8a1bfd103a9dcb1f9ccf0c611377d3b", - "transfer_address": "NVVwFw6XyhtRCFQ8SpUTMdPyYt4Vd9A1XQ", + "assethash": "0x8c23f196d8a1bfd103a9dcb1f9ccf0c611377d3b", + "transferaddress": "NVVwFw6XyhtRCFQ8SpUTMdPyYt4Vd9A1XQ", "amount": "1000000000", - "block_index": 603, - "transfer_notify_index": 0, - "tx_hash": "0x5e177b8d1dc33e9103c0cfd42f6dbf4efbe43029e2d6a18ea5ba0cb8437056b3" + "blockindex": 603, + "transfernotifyindex": 0, + "txhash": "0x5e177b8d1dc33e9103c0cfd42f6dbf4efbe43029e2d6a18ea5ba0cb8437056b3" } ], "address": "NVVwFw6XyhtRCFQ8SpUTMdPyYt4Vd9A1XQ" @@ -1256,14 +1256,14 @@ "result": { "balance": [ { - "asset_hash": "0x8c23f196d8a1bfd103a9dcb1f9ccf0c611377d3b", + "assethash": "0x8c23f196d8a1bfd103a9dcb1f9ccf0c611377d3b", "amount": "719978585420", - "last_updated_block": 3101 + "lastupdatedblock": 3101 }, { - "asset_hash": "0x9bde8f209c88dd0e7ca3bf0af0f476cdd8207789", + "assethash": "0x9bde8f209c88dd0e7ca3bf0af0f476cdd8207789", "amount": "89999810", - "last_updated_block": 3096 + "lastupdatedblock": 3096 } ], "address": "NVVwFw6XyhtRCFQ8SpUTMdPyYt4Vd9A1XQ"