Commit Graph

35 Commits

Author SHA1 Message Date
Emil Ivanichkov 1e72c2f10e Add generic decode function 2023-06-29 11:11:02 +02:00
Mark Spanbroek a5f676eecc Fixes after breaking changes in stew and stint 2023-06-29 11:07:00 +02:00
Mark Spanbroek f23f3e8aba Support Nim 1.2.x 2022-09-14 09:15:09 +02:00
Mark Spanbroek 1ac5eca540 Support distinct types 2022-09-14 09:15:09 +02:00
Mark Spanbroek f4ea25cb57 Support enums in a function signature 2022-06-15 09:53:07 +02:00
Mark Spanbroek 01c11eecb0 Custom encoding can use startTuple() and finishTuple() 2022-04-13 06:48:23 +02:00
Mark Spanbroek d179f9a11d Fix solidity type for byte arrays greater than 32 bytes 2022-04-07 14:39:46 +02:00
Mark Spanbroek 0c3dca0aa1 Calculate Event topic 2022-02-02 11:51:30 +01:00
Mark Spanbroek 2a8133b349 Fixes for Nim 1.2.x 2022-01-19 09:48:13 +01:00
Mark Spanbroek ad3d2f7a4b Support calculation of solidity function selectors 2022-01-19 09:18:46 +01:00
Mark Spanbroek e3c9aa4368 Add support for Ethereum addresses 2022-01-19 09:16:22 +01:00
Mark Spanbroek 971cdad25d Simplify encoding/decoding of signed integers
Fixes error in Nim 1.4.8
2021-12-09 11:48:14 +01:00
Mark Spanbroek a0fad53523 Support decoding of signed integers 2021-12-09 10:38:34 +01:00
Mark Spanbroek 8131170475 Support encoding of signed integers 2021-12-08 17:27:54 +01:00
Mark Spanbroek d0b1c1d9b0 Reorder decoding funcs
Now all decode overloads are in one place
2021-12-02 11:21:06 +01:00
Mark Spanbroek 46b1933aff Decoder: tuples do not have an offset, their elements do
No longer read offset when starting dynamic tuple,
read it when reading a dynamic element in a tuple.

Remove Tuple.dynamic, because it's no longer needed.
2021-12-02 11:13:50 +01:00
Mark Spanbroek f40101100e Support encoding and decoding of custom types 2021-12-01 17:44:46 +01:00
Mark Spanbroek 987d6f4028 Fail gracefully when decoding enum fails 2021-12-01 17:26:35 +01:00
Mark Spanbroek f1d85a6d84 Fail gracefully when decoding range fails 2021-12-01 17:26:05 +01:00
Mark Spanbroek 51da2802aa Decoding fails gracefully in several error cases 2021-12-01 16:34:02 +01:00
Mark Spanbroek a43c7b21a4 Add support for decode failures by returning Result type 2021-12-01 13:01:28 +01:00
Mark Spanbroek 319418cab7 Remove procs from public API
Since the introduction of the new API for encoding
and decoding of tuples, these procs are no longer
required to be on the external API.
2021-12-01 12:09:42 +01:00
Mark Spanbroek 1070b7251a Ensure that isDynamic also works for booleans
Casts are not supported in the nim vm.
2021-12-01 11:41:18 +01:00
Mark Spanbroek 2aa8685eb5 Simplify decoding of tuples 2021-12-01 11:40:12 +01:00
Mark Spanbroek ead71d7f87 Work around overload resolution bug in Nim 1.2.14 2021-12-01 11:18:41 +01:00
Mark Spanbroek 78b87cd138 Move index field from AbiDecoder into Tuple
Fixes faiing decoding test.
2021-12-01 10:59:31 +01:00
Mark Spanbroek 243b9a12e9 Simplify encoding of tuples 2021-12-01 10:58:23 +01:00
Mark Spanbroek 766260fd88 Add AbiEncoder.debugEcho to print hex lines 2021-12-01 10:56:35 +01:00
Mark Spanbroek 3015760b3e Use similar terminology when encoding and decoding
For writing custom decoding functions, `decode` and `read`
now work the same as `encode` and `write for encoding.
2021-11-30 16:52:23 +01:00
Mark Spanbroek 4126edf89f Decode strings 2021-11-30 16:35:38 +01:00
Mark Spanbroek 0f4c4d1465 Decode sequences and arrays 2021-11-30 16:22:52 +01:00
Mark Spanbroek 767c4ab588 Decoding of basic types 2021-11-30 15:14:57 +01:00
Mark Spanbroek 662c0fb4b8 Support encoding of strings 2021-11-29 10:39:13 +01:00
Mark Spanbroek a93772e69b Fix "undeclared identifier 'uintImpl'"
Happened when caller imports contractabi, but not stint.
2021-11-25 10:40:36 +01:00
Mark Spanbroek 8184529abd ABI Encoder extracted from nim-nitro module 2021-11-25 09:33:32 +01:00