You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 4, 2023. It is now read-only.
The number of contract variations is growing rapidly, and with the current approach maintaining them becomes too problematic. For instance, for english_auction contract we have
2 versions fa2 vs tez
per 3 versions of allowlisting for FA2 addresses/tokens (if we take Extended allowlist #132 into account)
Currently, to get a version of the contract with tez and simple allowlisting, I create a contract called english_auction_tez_allowlisted.mligo that sole purpose is to glue basic contract components and then add it to the TS compilation scripts. And so for every single contract configuration.
Apparently, we have to come up with a scheme where it will be possible to ask TS script to e.g. enable whitelisting in a specific mode, and the script will automatically glue the necessary contract components. This scheme must be transparent for developers, to avoid situations when a compilation error is raised for an obscure reason.
I have little experience of working with LIGO and preprocessor pragmas, but my preliminary suggestion would be to assume that to enable a certain component in a complex contract one always adds a corresponding #include statement. E.g. english_auction_tez_allowlisted.mligo consists solely of includes, and english_auction_tez_fixed_fee.mligo can be rewritten to consist of those.
The text was updated successfully, but these errors were encountered:
The number of contract variations is growing rapidly, and with the current approach maintaining them becomes too problematic. For instance, for
english_auction
contract we havefa2
vstez
Currently, to get a version of the contract with
tez
and simple allowlisting, I create a contract calledenglish_auction_tez_allowlisted.mligo
that sole purpose is to glue basic contract components and then add it to the TS compilation scripts. And so for every single contract configuration.Apparently, we have to come up with a scheme where it will be possible to ask TS script to e.g. enable whitelisting in a specific mode, and the script will automatically glue the necessary contract components. This scheme must be transparent for developers, to avoid situations when a compilation error is raised for an obscure reason.
I have little experience of working with LIGO and preprocessor pragmas, but my preliminary suggestion would be to assume that to enable a certain component in a complex contract one always adds a corresponding
#include
statement. E.g.english_auction_tez_allowlisted.mligo
consists solely of includes, andenglish_auction_tez_fixed_fee.mligo
can be rewritten to consist of those.The text was updated successfully, but these errors were encountered: