-
Notifications
You must be signed in to change notification settings - Fork 2
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
Appears to work fine π #1
Comments
@moodmosaic Looking good! Where can we find more context and/or the code leading to that? |
Thank you for the positive feedback! I developed that as an initial showcase of the concept. I'm now in the process of refining and integrating this technique into a broader, official GitHub issue with the help of @AshtonStephens and @setzeus. Additionally, for those interested in a deeper dive, I recently gave a talk on this topic which was recorded by @jo-tm, showing the steps to discover a bug in this contract. JosΓ© has the link to the recorded session if you'd like to check it out. Once I have the technique fully integrated and tested to ensure its quality, I'll share it for broader feedback and improvements. In the meantime, I'm here to answer any questions or provide further insights into the concept. Thanks for your understanding! |
Thanks @moodmosaic. Would you like to know more about that? |
I am happy to learn more about the upcoming changes. Given that @AshtonStephens initiated the GitHub issue we're integrating the technique into, mentioned in #1 (comment), it would be essential to keep him in the loop on this. |
You can learn a bit more about the JS SDK here: https://github.com/hirosystems/clarinet/tree/develop/components/clarinet-sdk. It's almost ready to be released (I'll be focusing on doc this week) Thanks for mentioning @AshtonStephens. I'd be curious to see if there's a PR related to the issue you mentioned |
Thank you for the information regarding the JS SDK. I appreciate the heads up. Before diving deeper into this and considering how it aligns with our current work, I'd like to discuss with Ashton first. As for the issue initiated by @AshtonStephens, I've only recently started working on it, so there's no PR available yet. I'll keep everyone updated as progress is made. |
Ok nice π |
@hugocaillard, right now @moodmosaic is working on https://github.com/Trust-Machines/stacks-sbtc/issues/691 using the method here. I'd rather he finish that up using the existing method. @moodmosaic and I discussed offline and this approach to property testing with fast-check is entirely decoupled from the underlying testing framework, so porting these tests to the new method will be as easy as porting any of the others. @hugocaillard what's the team's rollout plan for the new JS SDK into repos that currently use @hugocaillard what would be the immediate benefit of changing to the new |
Thanks for joining the discussion @AshtonStephens!
It's unclear to me what is the "method" being used but I would like to know more about it.
The new SDK will be officially released this week or next one along with migration guide and a compatibility layer to avoid having too many changes in the code. For some projects, it should be as easy as changing the imports.
For you, it could be that the new SDK have new features such as getting the contracts ABI (I don't know if you need that). I aslo know that in the past, @moodmosaic mentioned that fuzz testing would be easier with Node instead of Deno (don't know if it's still the case). And it might be ore future proof to use the upcoming lib instead of the one that will be deprecated soon |
Yes, that's true if you're building a prop/fuzzing DSL on top of Stuff like that is hard(er) with the current setup because Deno doesn't easily support TypeScript transformers, Reflection APIs are experimental, and fast-check's support for Deno while being good enough can still be improved. I expect that the new SDK makes those things easier, however none of the above are blocking my work in https://github.com/Trust-Machines/stacks-sbtc/issues/691 since I am not building a DSL there (I just explicitly define generators). |
Ok I see, thanks for the details @moodmosaic @AshtonStephens |
hey @moodmosaic @AshtonStephens Happy to announce that See more about the announcement on Discord I'm hoping to release a v1 along with documentation in the coming weeks, but the package itself shouldn't change much. Hope it'll help! Please let me know if you have any questions or suggestions π |
@hugocaillard, the entry point can be found here together with the accompanying commands. (I just open-sourced it.) AFAICT, it should be fairly easy to port this to |
Here's some sample output from a property-based & fuzz test-suite checking
counter.clar
invariants:The text was updated successfully, but these errors were encountered: