-
Notifications
You must be signed in to change notification settings - Fork 58
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
FunC v0.5.0 logic and dependencies updates #212
base: main
Are you sure you want to change the base?
Conversation
* tree-sitter-func.wasm copied from vscode with v0.5.0 support * getterParser modified to support `get` keyword * updated sdk dep * added v0.5.0 dep from func-js-bin
@@ -35,6 +35,8 @@ | |||
"func-js-bin-0.4.2": "npm:@ton-community/func-js-bin@^0.4.2", | |||
"func-js-bin-0.4.3": "npm:@ton-community/func-js-bin@^0.4.3", | |||
"func-js-bin-0.4.4": "npm:@ton-community/func-js-bin@^0.4.4", | |||
"func-js-bin-0.5.0": "npm:@ton-community/func-js-bin@^0.5.0", | |||
"highlight.js": "^11.6.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the reason highlight.js
wasn't included so far is because contract-verifier-sdk has it with it. just otherwise there may be a version discrepancy which is the downside with this approach.
This comment was marked as spam.
This comment was marked as spam.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since FunC v0.5.0 introduces new keywords and new syntax for get methods, contracts written in v0.5.0+ should be correctly parsed and highlighted in TON verifier.
Highlighing is implemented in ton-community/contract-verifier-sdk#324, so we just need to update the dependency.
To parse sources,
tree-sitter-func.wasm
is copied (surprisingly) from VS Code plugin, implemented here.The file
getterParser.ts
contains logic for AST traversing, also modified by this MR (supports bothmethod_id
from v0.4.x andget
from v0.5.0).