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

Support new encoder/decoder for scripts and predicates #1279

Closed
digorithm opened this issue Feb 12, 2024 · 3 comments
Closed

Support new encoder/decoder for scripts and predicates #1279

digorithm opened this issue Feb 12, 2024 · 3 comments
Assignees
Labels
epic An epic is a high-level master issue for large pieces of work.

Comments

@digorithm
Copy link
Member

Part of #1246.

Blocked by:

@kamyar-tm kamyar-tm added the epic An epic is a high-level master issue for large pieces of work. label Feb 15, 2024
@Matttioboy
Copy link

epic work

@hrrl
Copy link

hrrl commented Mar 11, 2024

good

hal3e added a commit that referenced this issue Apr 2, 2024
)

closes: #1278,
#1279,
#1046

This PR adds support for the new encoding scheme for contracts, scripts
and predicates.

I have added a new `ExperimentalBoundedEncoder` which can be activated
with the `experimental` cfg flag.
I have tried to minimize the impact of the new encoder as much as
possible to make it easier for review. A full refactor of the whole sdk
is necessary once the new encoding becomes the default one.

- The function selector changed and now it is the name of the method.
- The `CALL` opcode changed with the new encoding and is expecting the
following call data: ContractID, pointer to fn_selector (name of the
method), pointer to encoded arguments, number of coins, asset_id,
gas_forwarded.
@digorithm
Copy link
Member Author

Closing this because it's been mostly done. String slices and RawSlice support for scripts will be added later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic An epic is a high-level master issue for large pieces of work.
Projects
None yet
Development

No branches or pull requests

5 participants