Commit graph

2251 commits

Author SHA1 Message Date
Roman Khimov
62a11807a8 fixedn: always correctly unmarshal Fixed8 values
Quoted or not, they should be unmarshalled without going through float64.
2021-02-18 15:38:02 +03:00
Evgeniy Stratonikov
feb6ba2ef7 io: allow to restrict string size 2021-02-18 15:36:22 +03:00
Roman Khimov
89fb02a7f8
Merge pull request #1648 from nspcc-dev/backport-fixes-from-master
Backport fixes from master to 2.x
2021-01-11 12:44:05 +03:00
Roman Khimov
17c010e07d
Merge pull request #1649 from nspcc-dev/dont-return-spent-in-gettxout
rpc: fix gettxout result for already spent outputs
2021-01-02 13:20:06 +03:00
Roman Khimov
9e35758653 rpc: fix gettxout result for already spent outputs
As per C# documentation [1]:
  If the transaction output is already spent, the result value will be null .

[1]: https://docs.neo.org/docs/en-us/reference/rpc/latest-version/api/gettxout.html
2020-12-31 13:54:42 +03:00
Evgenii Stratonikov
ee45d7739f network: fix requestTx()
2 bugs were here:
1. If amount of tx is small, no messages were sent.
2. Correctly cut byte slice if last message is small.
2020-12-31 13:00:50 +03:00
Roman Khimov
363c24d128 network: fix tx requests, we can't ask more than 500 txes at once 2020-12-31 13:00:00 +03:00
Evgenii Stratonikov
9756ed2b06 network: set timeout on write
Fix a bug occuring under high load when node
hangs during this write.
2020-12-31 12:58:00 +03:00
Evgenii Stratonikov
edf587bbf1 network: fix a bug in discovery with a peer connected twice
It could be the case that checks are performed simultaneosly and
peers connections goes down from 2 to 0. We must take such case into
account and register address as good in discovery.
2020-12-31 12:57:43 +03:00
Evgenii Stratonikov
0d2bc8f4a6 network: remove extra error check from Message.Encode()
Buffer write error is returned from `Encode()`.
2020-12-31 12:52:40 +03:00
Evgenii Stratonikov
0510d1e6c1 vmcli: return after error in break 2020-12-31 12:51:01 +03:00
Evgenii Stratonikov
5d6065c3ee vmcli: set breakpoint before the instruction
Breakpoint should occur before actual instruction execution.
2020-12-31 12:50:52 +03:00
Anna Shaleva
4a8259caea rpc: adjust getrawtransaction and gettransactionheight RPC call
We should not return transaction metadata from `getrawtransaction` in case
transaction is not in the mempool. Height shouldn't be returned from
`gettransactionheight` in case transaction is in the mempool.
2020-12-31 12:44:07 +03:00
Roman Khimov
124c674b17 *: gofmt -s 2020-12-31 11:52:27 +03:00
Roman Khimov
50f477b2af
Merge pull request #1623 from nspcc-dev/2x/core/mempool_fix
[master-2.x] core: fix bug with mempool.verifiedMap
2020-12-16 16:54:46 +03:00
Anna Shaleva
66a64dd4c9 core: fix bug with mempool.verifiedMap
Changes ported from #1621.
2020-12-16 14:14:09 +03:00
Roman Khimov
0333107327 CHANGELOG: release 0.78.2 2020-12-03 15:41:39 +03:00
Roman Khimov
75c4251a06
Merge pull request #1588 from nspcc-dev/keep-only-latest-in-the-config
config: add KeepOnlyLatestState setting where EnableStateRoot is set
2020-12-02 20:26:09 +03:00
Roman Khimov
73bb2c2543 config: add KeepOnlyLatestState setting where EnableStateRoot is set
With its default value set to `false`.
2020-12-02 16:52:04 +03:00
Roman Khimov
64d0876fc0
Merge pull request #1503 from nspcc-dev/mpt/refcount
Implement reference counting in MPT
2020-11-18 14:20:42 +03:00
Evgenii Stratonikov
0ffffb93d7 mpt: implement reference counting 2020-11-18 12:16:05 +03:00
Roman Khimov
3a1b67e9f7
Merge pull request #1532 from nspcc-dev/feature/retransmit
network: retransmit stale transactions
2020-11-12 14:27:27 +03:00
Evgenii Stratonikov
d93ddfda10 network: retransmit stale transactions 2020-11-11 15:51:36 +03:00
Roman Khimov
06f3c34981 mempool: replace timeStamp with blockStamp
Time is not really relevant for us here and we don't use this timestamp in any
way. Yet it occupies 24 bytes and we do two clock_gettime calls to get it.

Replace it with blockStamp which is going to be used in the future for
transaction retransmissions.

It allows to improve single-node TPS by another 3%.
2020-11-11 15:48:13 +03:00
Evgenii Stratonikov
f3abbf34e3 mpt: fill cached fields when getting node from store
Node which has been got from store shouldn't be flushed again.
2020-11-11 13:22:53 +03:00
Evgenii Stratonikov
df1792c80b mpt: export func for decoding node with type
`NodeObject` can contain auxilliary fields and shouldn't be used from outside.
2020-11-11 13:22:53 +03:00
Roman Khimov
49d176010e
Merge pull request #1523 from nspcc-dev/2x/rpc/batch_requests
rpc: allow batch JSON-RPC requests
2020-11-06 17:27:18 +03:00
Anna Shaleva
ef3eb0a842 rpc: allow batch JSON-RPC requests
Close #1509
2020-11-06 17:20:27 +03:00
Roman Khimov
559024671a
Merge pull request #1516 from nspcc-dev/getblocktransfertx
Getblocktransfertx RPC API for 2.x
2020-11-03 09:48:27 +03:00
Roman Khimov
68fc8168ec rpc: add getblocktransfertx RPC call
It uses a bit different output format than getalltransfertx, so
TransferTxEvent type was adjusted accordingly.
2020-11-02 19:01:48 +03:00
Roman Khimov
136e4b5886 core: move NotificationEvent->NEP5Transfer conversion to state
We'll need it as a separate function and it's cleaner this way.
2020-10-29 22:10:40 +03:00
Roman Khimov
52135dcade docs: improve formatting 2020-10-29 19:54:05 +03:00
Roman Khimov
d775f07a55 CHANGELOG: release 0.78.1 2020-10-22 20:01:00 +03:00
Roman Khimov
77ecdcabb4
Merge pull request #1487 from nspcc-dev/fix-boltdb-get-2.x
storage: fix Get for BoltDB, fix #1482
2020-10-13 21:24:41 +03:00
Roman Khimov
14c39b2b26 storage: fix Get for BoltDB, fix #1482 2020-10-13 19:21:57 +03:00
Roman Khimov
d2ee2b5f9f
Merge pull request #1483 from nspcc-dev/2.x-fix-empty-discovery-pool
2.x fix empty discovery pool
2020-10-13 19:00:20 +03:00
Roman Khimov
78773df6ec network: try connecting to seeds indefinitely, use them with 0 pool
If the node is to start with seeds unavailable it will try connecting to each
of them three times, blacklist them and then sit forever waiting for
something. It's not a good behavior, it should always try connecting to seeds
if nothing else works.
2020-10-13 18:00:31 +03:00
Roman Khimov
b36371ed94 network: an address should either be good or bad, but not both 2020-10-13 14:16:06 +03:00
Roman Khimov
50d6cd6b0d
Merge pull request #1475 from nspcc-dev/core/get_storage_items_fix
core: copy storage item key in simple.GetStorageItems
2020-10-10 12:32:00 +03:00
Anna Shaleva
168366f33e core: copy storage item key in simple.GetStorageItems
Close #1468.

We should copy the key to avoid bytes substitution. Otherwise there's a
chance that at the end of dao.Store.Seek(...) execution some keys won't
be the same as the original keys found inside saveToMap function.
2020-10-10 12:24:08 +03:00
Roman Khimov
46d314fb4d
Merge pull request #1429 from nspcc-dev/update-dbft-library-2.x
update dbft, pick timer improvements and other optimizations
2020-09-26 18:12:35 +03:00
Roman Khimov
ca0ff47c05 update dbft, pick timer improvements and other optimizations 2020-09-25 23:06:23 +03:00
Roman Khimov
4ff5bb361a
Merge pull request #1412 from nspcc-dev/config-gas-6195000
config: follow freegasheight update
2020-09-21 13:10:12 +03:00
Roman Khimov
c83cefecc6 config: follow freegasheight update
See neo-project/neo-node#669.
2020-09-21 12:56:39 +03:00
Roman Khimov
e3c360c477 vm: fix comment typo 2020-09-15 21:44:54 +03:00
Roman Khimov
6e5fd359ae CHANGELOG: release 0.78.0 2020-09-15 21:32:59 +03:00
Roman Khimov
9fb749ff68
Merge pull request #1404 from nspcc-dev/transfertx-string-fees
rpc/server: use strings for sys and net fees in TransferTx
2020-09-15 21:29:28 +03:00
Roman Khimov
b8705bdb79 rpc/server: use strings for sys and net fees in TransferTx
The same they're displayed for transactions.
2020-09-15 20:34:34 +03:00
Roman Khimov
08782e265b
Merge pull request #1402 from nspcc-dev/testnet-free-gas-update
config: update free GAS height again
2020-09-15 19:01:48 +03:00
Roman Khimov
ec631984d0
Merge pull request #1399 from nspcc-dev/getalltransfertx-2.x
Getalltransfertx 2.x
2020-09-15 19:01:24 +03:00