-
Notifications
You must be signed in to change notification settings - Fork 80
Implement debugging support for the Advanced Transaction Builder #230
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
Comments
In issue #172 we documented a note of the initial difficulties of implementing this:
|
Today we started looking at @kiok46's new PR. We extracted his example file into an automated test with documented output. We looked through the output template, which all looks to be correct. We did notice that some tests from the "regular" libauth template fixtures were failing (likely due to naming convention changes), and there were TypeScript issues surrounding the breaking changes. We also want to further investigate if we can minimise the breaking changes to the TransactionBuilder API and we will need to merge the new Next session we want to expand the test cases a bit by adding more contracts and more configurations of inputs/outputs (e.g. multiple inputs spending with the same function). Then we want to start refactoring / merging the new and existing files as mentioned above. When we are doing refactors, it will be good to also see if we can address these issues while doing so: #204 We should also update the tests under |
Today we added two extra test cases to the multi-contract template generation. We found 1 bug with scenario naming in there that we added a TODO for and will get back to later. We then started refactoring / backporting the advanced transaction builder changes. We updated the Next session we will start by updating the tests under After updating the tests and fixing any potential critical bugs/issues, we'll cut a new next release before doing deeper refactors. |
Today we made some improvements to the TransactionBuilder tests and split the e2e tests from the "API tests", but we still need to continue with most of the debugging testing that we mentioned in the previous comment. Additionally, we want to update all of the e2e tests to use the advanced transaction builder and add some multi-contract e2e tests to the newly created |
I spent some extra time on this in preparation. ✅ successfully converted to 🟧 converted with minor issue & pushed with issue oustanding: ❌ failing to convert, not-pushed:
🤔 not tried: |
Today we started updating the old fixtures to work with the new LibauthTemplate functionality. While doing so we got lost trying to get our snake case function to work correctly. In the end we just used a library for it, but we'll need to replace that some time down the line (but definitely not before the coming We'll likely have another session in the coming days to finish updating all the tests. If no major issues are found after we've updated the tests, then we'll try to merge this into |
I ported the e2e test for we should check if the e2e tests work on chipnet still after the changes. remaining is potentially we could also look to add a tests to |
Today we made some changes to ensure that the updated e2e tests still work on chipnet. Then we updated the debugging tests to use TransactionBuilder. Next session we will have to finish porting the e2e tests with After that we should be ready to deploy a |
Today we started adding to the The first bug concerned scenarios for Contract A not having access to data from Contract B (which is necessary in order to do proper introspection). We were able to solve this bug. The second bug was a small one, where P2PKH inputs were not being indexed correctly, we also solved this. The third bug is that, while we are generating multiple scenarios, Lastly, we also noticed there is a potential for naming conflicts (both for constructor parameters with the same name between contracts, and also when using the same name for contracts). We'll have to further document these in test cases so that we can figure out how to deal with those. The naming conflict can wait until after a So next session, we plan to resolve that bug and finish the rest of the tests + update the multicontract fixtures. After that we can aim to deploy a |
Today we managed to fix the remaining issue where not all scenarios were evaluated. We also updated the fixtures and fixed some issues that we accidentally introduced last time. So now none of the tests are failing and we have reasonable enough test coverage for multi-contract debugging to cut a We fixed one part of the naming collisions that we considered blocking, but we're leaving the rest of those naming collision issues for after the next release. We didn't manage to add any multi-contract tests to We also noticed that the "snake-casing" of names/parameters etc everywhere might not be necessary, and adds unneeded complexity and potential for bugs. So we want to look into removing the snake-casing. We didn't get to cut the release today, but we're planning to do another session this week to get the release and docs out. |
If we look up all
the following test filess only test the
|
I came across two issues with the debugging functionality and added failing tests for them:
|
Today we addressed the first of the two issues that @mr-zwets found by adding a reference to the corresponding input index for every entity and unlock script. To do so, we created new entities / unlock scripts for every input index, even if they use the same contract or contract function. We also reverted a previous change that we made to have multiple scenarios per unlock script. We still need to update most of the fixtures to reflect these changes. And next time we also need to update the naming of scenarios to also include the input index (rather than the current incrementing number). |
Today we updated the fixtures and fixed a small bug that we ran into where P2PKH inputs were not fully working with the new TransactionBuilder. After, we got started on @mr-zwets' second issue. We figured out that this occurred because there's an We added what we think it should look like to one of the fixtures, and next session we'll try to resolve this bug. |
I noticed 2 more issues with the debugging
|
No description provided.
The text was updated successfully, but these errors were encountered: