-
Notifications
You must be signed in to change notification settings - Fork 4
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
Generators necessary for creating transactions and scenarios. #22
base: main
Are you sure you want to change the base?
Conversation
Pointless and annoying for libraries.
main into tx_fuzz
…li and added else handling
Hey @Riley-Kilgore Apologies for leaving this hanging. I defer to @KtorZ for his judgement on these things. He's got some blame on these commits and I'm guessing there's been some discussion on design and design choices that are out of (my) band. There's quite a lot here. I'd very much to see these features added. I have questions. From a browse all the 'gen' methods in modules named
Results in
Quite unrepresentative of ada values in utxos in the wild. Other methods such as
Digression: This is a thread @KtorZ and I were discussing many moons ago. Address looks like a genuine Not familiar enough with certs to digest that module. Looks fine. |
Hey @waalge , thanks for the feedback. I'll try to address some of the concerns brought up in a commit I am now working on. I have also started working on a bench-marking tool, which will initially use the existing property based tests that users define, but will also accommodate to |
Sounds good. In these constrained environments, I see benchmarking as relevant as fuzzing. I don't really have an intuition as to how benchmarking is / will work. Update: 'Consensus' is: circular dependencies allowed at a lib level (... I'm guessing not at module level? Not so important) https://github.com/aiken-lang/stdlib/blob/main/lib/aiken/cbor.test.ak Fuzz depends on stdlib, and any tests in stdlib depend on fuzz. |
Some of the work in this PR is upstreamed from https://github.com/CardanoSolutions/zhuli
Changes to the upstreamed work include a small fix made to
any_value_extending
, and else branches are now supported inscenario.ak
.Additionally a number of new functionalities are introduced such as generating constrained values, inputs, outputs, and a rudimentary balancing function for transactions.
Example usage of the new tx generator functions can be found here: https://gist.github.com/Riley-Kilgore/47a938e5cba59f0dfaa1e61a06d14e97
Example usage of scenarios can be found here: https://github.com/CardanoSolutions/zhuli/blob/main/validators/zhuli.test.ak