Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync orderbook with Development #83

Closed
wants to merge 5 commits into from
Closed

Sync orderbook with Development #83

wants to merge 5 commits into from

Conversation

itamarcps
Copy link
Contributor

No description provided.

Jean-Lessa and others added 5 commits September 4, 2023 14:34
* new encoder namespace

* finish testing NewEncoder

* tuple and vector of tuple encoding support

* change tuple vector logic

* finish new encoder

* finish decoder

* reflect ctor types on contract creation decoding

* get rid of runtime depedency for decoder

* handle tuple parameter when registering a member

* ABI: optimize code formatting

* Add std::tuple decode support.

* Finish support for tuple encoding

This includes encoding std::vector<std::tuple<Args...> and std::tuple<std::tuple<>> nested support.

* Truly support tuple encoding

Now it is compatible for all dynamic/static tuples.

See https://docs.soliditylang.org/en/latest/abi-spec.html#formal-specification-of-the-encoding for more information.

* Add extra test condition for encoding.

* Fully support ABI specification for Decoding

* Clean and format abi.h

* Include tests for Encode/Decode ABI's with Tuples

* Remove usage of BaseTypes within DynamicContract

* Implement new templated FunctorEncoder for ABI.

* Reduce usage of ContractReflectionInterface on DynamicContract

* Fix compiling errors.

* Clean up ContractManagerInterface, remove Meta lib

JSON ABI is completely broken, this commit is not compilable as it errors out with BytesEncoded functions.
BytesEncoded is to be deprecated within the next commit

* Deprecate BytesEncoded

* Add info to CMI, properly populate mappings.

* Deprecate unused ABI functions and enums

* Rework CRI mapping structure

* Implement new JSON ABI Encoding Functions

Include tests :)

* Deprecate ABI::Encoder::encodeFunction, Add nested vector support for ABI::Encoder

* Update abi.h

* Add nested vector support for ABI::Decoder

* Fix JSON ABI encoding for vector of tuples.

* Add more tests to ABI.

* Add missing documentation

* Replace std::string usage with an enum for function types

* Remove DynamicContract dependency on CRI, Add support to overload functions

* Add tests for overloaded functions

* Remove usage of TypeList

* Remove usage of std::any on ContractFactory

---------

Co-authored-by: Jean-Lessa <75625278+Jean-Lessa@users.noreply.github.com>
Co-authored-by: Itamar Carvalho <32653934+itamarcps@users.noreply.github.com>
@itamarcps itamarcps closed this Jan 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants