-
Notifications
You must be signed in to change notification settings - Fork 191
feat: deep selector hack #3357
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
base: main
Are you sure you want to change the base?
feat: deep selector hack #3357
Conversation
Current Selector StructureThe current selector consists of:
This logic is implemented in the selector-hack get-method. Proposed OptimizationI propose moving the selector into This maneuver will make the bytecode layout of contracts slightly more compact and help avoid unnecessary "jumps" between code cells. Proof of Concept ResultsAt this stage, proof of concept work for this optimization has been completed. The results are available and they are good. Current IssuesThere is a problem with the absence of the SolutionThe solution to the problem with the missing We can obtain a dictionary with all functions at the moment when compilation of For this purpose, To solve this, embedding of |
👉👈 It is also necessary to fix the draft so that it passes absolutely all tests. |
Can you please add benchmark table result output here in the conversation? I mean to compare the impact of a new hack |
base jetton e2e tests passed https://testnet.tonviewer.com/kQBEg_BB-yM5Hyik9O9xuVvVDGEqhKTDwbTVf3rYQrIk_HSN?section=method |
Closes #3336