18 Commits

Author SHA1 Message Date
Zahary Karadjov
c1b1766f86 Fixes for bugs discovered while testing the Hexary Trie
Bugfixes:

* `rlp.rawData` was returning a wider than necessary range when
  called over a `listElem` result.

* Appending `Rlp` objects to a `RlpWriter` was producing incorrect
  results.

New features:

* When the Rlp reading cursor is positioned over a list, you can call
  `enterList` to position the cursor to the first list element.
  Call `skipElem` to move the cursor further.

* `rlpFromHex` will now accept leading `0x` symbols (often used in the
  Ethereum world).

* `rlp.inspect` will now print hex characters by default. Use the
  optional parameter `hexOutput` to control the behavior.
2018-06-23 20:04:47 +03:00
Zahary Karadjov
e0d62ae9ba make zeroBytesRlp a constant in order to not interfere with the gcsafe effect 2018-06-17 20:12:13 +03:00
Zahary Karadjov
790aef0a9d Make 'read' and 'append' easier to override for user-defined types
The 'rlp.inspect' output have been improved.
2018-05-18 14:32:06 +03:00
Yuriy Glukhov
078aa161dd Workaround enum serialization 2018-05-18 12:46:23 +03:00
Zahary Karadjov
8d7dd1acb1 Bugfix: objects with array fields were not deserialized properly
fixes #10

The commit also introduces a common base type for all RLP exceptions
2018-05-17 16:11:03 +03:00
Zahary Karadjov
a97cb6c32f handle char arrays as blobs just like byte arrays 2018-04-01 05:37:50 +03:00
Zahary Karadjov
8acf725628 rlp.read for openarrays 2018-04-01 05:20:46 +03:00
Zahary Karadjov
09718bb5c3 implement rlp.read for arrays 2018-04-01 05:01:56 +03:00
Zahary Karadjov
f903ad8bff add support for reading and writing enums 2018-04-01 04:37:06 +03:00
Yuriy Glukhov
5861464710 Use new ranges 2018-03-27 10:53:55 +03:00
Yuriy Glukhov
069d73df31 Fixed listElem 2018-03-20 17:03:21 +02:00
Zahary Karadjov
0b516cb2b6 wrap objects and tuples in lists by default 2018-03-13 18:16:53 +02:00
Alexander Ivanov
8cd02732ad Revert 2018-02-27 16:46:11 +02:00
Alexander Ivanov
99b534f356 Use toInt 2018-02-26 14:27:07 +02:00
Alexander Ivanov
955a2afc87 Add support for uint 2018-02-21 12:34:07 +02:00
Alexander Ivanov
b082a14a8b Add support for SomeOrdinal 2018-02-21 12:27:34 +02:00
Zahary Karadjov
ce79722d43 use the new status-im/ranges library 2018-02-16 17:28:19 +02:00
Zahary Karadjov
78ec433770 nim-rlp version 1.0 2018-01-30 22:18:58 +02:00