53 Commits

Author SHA1 Message Date
Ulf Wiger
4cc6adee2e Add unsafe_encode/2 to forego size check
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in -2m49s
2026-03-25 22:10:06 +01:00
Ulf Wiger
4f97dd1bd1 Add keypair encoding, fix seckey size checks
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in -2m51s
2026-03-24 23:06:29 +01:00
05bbf058be Map 'hash' as known api type, add some more tests (#56)
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in -2m53s
I noticed that the 'hash' serialization type wasn't in the `known_type()` set, although it was supported otherwise.
This PR adds it to the `known_type()` and also exports the type `gmser_api_encoder:known_type()`.

Also, some more tests are added to try to detect this sort of thing in the future.

Co-authored-by: Ulf Wiger <ulf@wiger.net>
Reviewed-on: #56
2026-03-24 21:23:20 +09:00
Ulf Wiger
00699b08b7 Fix OTP 28 dialyzer warnings, rewrite gmser_dyn decoder
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in -3m56s
gmser_dyn no longer tries to compress output by omitting type tags.
Decoding streams using custom template codes can either use 'strict'
decoding, in which case matching templates must be registered on the
decoding end; in `strict => false` mode, the stream can still be decoded
without valudation if the custom template is missing.
2026-02-18 21:10:43 +01:00
Ulf Wiger
8734e67c66 WIP refactor gmser_dyn 2026-02-15 12:12:04 +01:00
Ulf Wiger
07d61722b4 Serialization got broken by previous PR
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in 49m58s
2025-04-29 10:18:59 +02:00
Ulf Wiger
f996253e6b Add forgotten exports, expand(Types) function
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in 49m55s
2025-04-28 12:12:43 +02:00
Ulf Wiger
b9a51acf55 Add gmser_dyn_types.erl
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in 49m54s
2025-04-28 11:59:27 +02:00
Ulf Wiger
5df23c05c1 test case for 'switch'
Some checks failed
Gajumaru Serialization Tests / tests (push) Failing after 49m55s
2025-04-28 11:51:23 +02:00
Ulf Wiger
b358dfe914 Add switch semantics
Some checks failed
Gajumaru Serialization Tests / tests (push) Failing after 49m54s
2025-04-28 11:36:02 +02:00
Ulf Wiger
795c7f7860 Save options, test cases for missing labels
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in 49m42s
2025-04-23 23:36:03 +02:00
0d77ca0388 Fix function_clause bug (#51)
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in 49m16s
Co-authored-by: Ulf Wiger <ulf@wiger.net>
Reviewed-on: #51
2025-04-14 19:10:58 +09:00
Ulf Wiger
a949d166f6 Add options for deserialization of missing labels
Some checks failed
Gajumaru Serialization Tests / tests (push) Failing after 49m16s
2025-04-14 11:54:48 +02:00
Ulf Wiger
ba771836fb Document static, make anyint standard
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in 49m9s
2025-04-11 16:39:06 +02:00
Ulf Wiger
dd3e731480 Support 'negint', 'items' and 'alt'
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in 49m5s
2025-04-10 16:58:03 +02:00
Ulf Wiger
6563ef9de7 WIP add 'items', fix some layout issues 2025-04-10 16:58:03 +02:00
Ulf Wiger
dd1c2455f0 Fix type-driven encode, more docs
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in 48m53s
2025-04-05 21:44:36 +02:00
Ulf Wiger
3ede4f22e1 Register individual types, more docs 2025-04-05 13:20:30 +02:00
Ulf Wiger
4663a0f57e gmser_dyn.erl fairly complete
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in 48m37s
2025-03-30 23:00:10 +02:00
2db9ea6134 Package for zx (#45)
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in -4m22s
This packages the library for deployment on zx (migrating from the old otpr-aeserialization-* line).

It also adds a native Erlang fallback to invokation of the Blake2 algorithm, picking enacl if it is present, but proceeding with eblake2 if not.

Reviewed-on: #45
Reviewed-by: dimitar.p.ivanov <dimitarivanov@qpq.swiss>
Reviewed-by: Ulf Wiger <ulfwiger@qpq.swiss>
Co-authored-by: Craig Everett <zxq9@zxq9.com>
Co-committed-by: Craig Everett <zxq9@zxq9.com>
2025-01-22 19:36:50 +09:00
4b5cfcb67a Remove old type references, update naming, add license notices (#43)
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in -4m21s
Removed the oracle type references and updated the dependency list to point to git.qpq.swiss.

Reviewed-on: #43
Co-authored-by: Craig Everett <zxq9@zxq9.com>
Co-committed-by: Craig Everett <zxq9@zxq9.com>
2025-01-22 13:22:03 +09:00
Ulf Wiger
d28e63693c Add contract source (cx) 2024-10-15 08:07:24 +02:00
Ulf Wiger
b5929e4d2e Define channel_delegates chain obj 2024-10-14 14:48:05 +02:00
Hans Svensson
9cb67eeb98 Add data_extend_tx 2024-09-24 09:47:25 +02:00
Dimitar Ivanov
c31bcac249 Add entries 2024-07-26 14:39:47 +03:00
Ulf Wiger
5139f130f5 Add native token chain obj info 2024-07-15 17:38:23 +02:00
Ulf Wiger
8336d8113c Add native_token encoding support 2024-07-15 16:39:04 +02:00
Hans Svensson
8346df41f2 Add testimonies and AC serialization 2024-06-28 13:59:06 +00:00
Hans Svensson
2488ff3978
Add structured delegation signatures (#21)
* Bump enacl dependency

* Add serialization of delegation signature data
2023-12-06 15:23:57 +01:00
Ulf Wiger
da8308821c
Merge pull request #19 from davidyuk/secret-key
Add serialization of account secret key
2023-11-13 16:13:54 +01:00
Denis Davidyuk
213589ad9f Add serialization of account secret key 2023-09-15 10:08:29 +04:00
Ulf Wiger
893ebb69f6
Update src/aeserialization.erl with duplicates check
From code review

Co-authored-by: Radosław Rowicki <35342116+radrow@users.noreply.github.com>
2023-08-17 20:43:59 +02:00
Ulf Wiger
05c4f87619
Update src/aeserialization.erl with type comment
From code review

Co-authored-by: Radosław Rowicki <35342116+radrow@users.noreply.github.com>
2023-08-17 20:42:48 +02:00
Ulf Wiger
91d6159ebd Add #{items := list()} type for encode/decode 2023-08-17 13:04:06 +02:00
Hans Svensson
95d248aa0c Add ga_meta_tx_auth_data tag 2022-12-20 08:08:51 +01:00
Sean Hinde
27bb4331aa Small tidy up 2021-11-02 09:36:45 +01:00
Sean Hinde
9b36c771c7 Update to use latest enacl with new API 2021-11-01 18:37:12 +01:00
Dimitar Ivanov
58e34ae7b5
Merge pull request #14 from aeternity/GH-2851-paying_for_tx
Add paying_for_tx to aeser_chain_objects
2021-03-10 15:49:31 +02:00
Dimitar Ivanov
5e820bed55 Describe channel_set_delegates_tx 2021-03-07 12:28:27 +02:00
Hans Svensson
80ff8a49f4 Add paying_for_tx to aeser_chain_objects 2019-11-08 13:40:35 +01:00
Thomas Arts
e1fe683f95 Name_auction serialization 2019-08-30 11:34:57 +02:00
Hans Svensson
1fdd580050 Add aeser_contract_code 2019-08-22 15:25:28 +02:00
Ulf Wiger
d87adfd583 Add channel_offchain_update_meta object 2019-08-12 10:23:13 +02:00
Ulf Wiger
cd341370b3 Add support for channel_client_reconnect_tx 2019-07-26 21:30:24 +02:00
Hans Svensson
3416ff5c1b
Merge pull request #6 from aeternity/PT-165853843-encode_binary_json_content
Add a generic 'bytearray' encoding - prefix 'ba'
2019-05-13 14:24:15 +02:00
Hans Svensson
4724773d3b Add a generic 'bytearray' encoding - prefix 'ba' 2019-05-13 14:18:00 +02:00
Dimitar Ivanov
3eec4609d2 Remove pinned environment serialization 2019-04-25 14:32:54 +03:00
Dimitar Ivanov
816bf994ff
Merge pull request #4 from aeternity/add_offchain_pinned_block_env
Add off-chain pinned environment serialization
2019-04-10 10:27:27 +02:00
Dimitar Ivanov
ecde108939 Add off-chain pinned environment serialization 2019-04-08 08:42:55 +03:00
Hans Svensson
2c50457633 Add generalize accounts objects 2019-03-22 14:32:01 +01:00