Skip to content
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

tx-generator: add capability for PlutusV2 scripts #4667

Merged
merged 13 commits into from
Jan 10, 2023

Conversation

mgmeier
Copy link
Contributor

@mgmeier mgmeier commented Nov 25, 2022

NB: This branch is rebased on jj/update-ledger, so it should only be merged on top of that. (EDIT: good to go ✅ )

This PR adds PlutusV2 capability to bench/tx-generator and prepares it to use the new SECP built-ins.

  • ✅ -- The generator can now handle PlutusV2
  • ✅ -- Flake input bump for plutus-apps, to include latest SECP scripts for benchmarking
  • ✅ -- Script redeemers are now parametrizable in the generator, instead of hard-coded
  • ✅ -- workbench integration

Additionally, workbench profiles plutus-secp-ecdsa and plutus-secp-schnorr have been defined. Those provide a benchmarking auto-loop script w/ a fitting redeemer targeted to use the respective SECP built-in.

In this PR, the cost model used is the one for protocol version 8.0 from preview.

@mgmeier mgmeier added WIP Work In Progress (cannot be merged yet) status: duplicate The PR or issue already exists labels Nov 25, 2022
@mgmeier mgmeier force-pushed the mkarg/tx-generator-plutus-v2-update-ledger branch 2 times, most recently from d375075 to f7eda48 Compare December 5, 2022 10:33
@mgmeier mgmeier removed the status: duplicate The PR or issue already exists label Dec 8, 2022
@mgmeier mgmeier force-pushed the mkarg/tx-generator-plutus-v2-update-ledger branch 2 times, most recently from 456ec90 to b075aa5 Compare December 9, 2022 09:07
@mgmeier mgmeier removed the WIP Work In Progress (cannot be merged yet) label Dec 9, 2022
@deepfire deepfire force-pushed the mkarg/tx-generator-plutus-v2-update-ledger branch from b075aa5 to 90c3f17 Compare December 9, 2022 11:51
Copy link
Contributor

@deepfire deepfire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @mgmeier!

@deepfire deepfire force-pushed the mkarg/tx-generator-plutus-v2-update-ledger branch 4 times, most recently from 39b1134 to 58569f8 Compare December 12, 2022 08:56
@deepfire
Copy link
Contributor

bors r+

iohk-bors bot added a commit that referenced this pull request Dec 13, 2022
4667: tx-generator: add capability for PlutusV2 scripts r=deepfire a=mgmeier

**NB**: This branch is rebased on `jj/update-ledger`, so it should only be merged on top of that. (_EDIT_: good to go ✅ )

This PR adds PlutusV2 capability to `bench/tx-generator` and prepares it to use the new SECP built-ins.

* ✅ -- The generator can now handle PlutusV2
* ✅ -- Flake input bump for `plutus-apps`, to include latest SECP scripts for benchmarking
* ✅ -- Script redeemers are now parametrizable in the generator, instead of hard-coded
* ✅  -- workbench integration

Additionally, workbench profiles `plutus-secp-ecdsa` and `plutus-secp-schnorr` have been defined. Those provide a benchmarking auto-loop script w/ a fitting redeemer targeted to use the respective SECP built-in.

In this PR, the cost model used is the one for protocol version 8.0 from `preview`. 

Co-authored-by: Michael Karg <[email protected]>
Co-authored-by: Kosyrev Serge <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Dec 13, 2022

Timed out.

@deepfire deepfire force-pushed the mkarg/tx-generator-plutus-v2-update-ledger branch from 6d82d5e to fd0f479 Compare December 13, 2022 17:23
@mgmeier
Copy link
Contributor Author

mgmeier commented Dec 14, 2022

Very nice; this change enables consistently (and permamently) maintaining sets of protocol parameters and Plutus cost models. A great foundation for encoding a matrix of eras and protocol versions in workbench profiles.
Thank you Serge!

@mgmeier mgmeier force-pushed the mkarg/tx-generator-plutus-v2-update-ledger branch from a4e80aa to 33f9f73 Compare December 15, 2022 13:30
@deepfire deepfire force-pushed the mkarg/tx-generator-plutus-v2-update-ledger branch 2 times, most recently from 33263ed to 319fef3 Compare January 10, 2023 14:37
@deepfire deepfire force-pushed the mkarg/tx-generator-plutus-v2-update-ledger branch from 319fef3 to f431387 Compare January 10, 2023 17:28
@deepfire
Copy link
Contributor

bors r+

iohk-bors bot added a commit that referenced this pull request Jan 10, 2023
4667: tx-generator: add capability for PlutusV2 scripts r=deepfire a=mgmeier

**NB**: This branch is rebased on `jj/update-ledger`, so it should only be merged on top of that. (_EDIT_: good to go ✅ )

This PR adds PlutusV2 capability to `bench/tx-generator` and prepares it to use the new SECP built-ins.

* ✅ -- The generator can now handle PlutusV2
* ✅ -- Flake input bump for `plutus-apps`, to include latest SECP scripts for benchmarking
* ✅ -- Script redeemers are now parametrizable in the generator, instead of hard-coded
* ✅  -- workbench integration

Additionally, workbench profiles `plutus-secp-ecdsa` and `plutus-secp-schnorr` have been defined. Those provide a benchmarking auto-loop script w/ a fitting redeemer targeted to use the respective SECP built-in.

In this PR, the cost model used is the one for protocol version 8.0 from `preview`. 

Co-authored-by: Michael Karg <[email protected]>
Co-authored-by: Kosyrev Serge <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Jan 10, 2023

Build failed:

@deepfire
Copy link
Contributor

bors r+

iohk-bors bot added a commit that referenced this pull request Jan 10, 2023
4667: tx-generator: add capability for PlutusV2 scripts r=deepfire a=mgmeier

**NB**: This branch is rebased on `jj/update-ledger`, so it should only be merged on top of that. (_EDIT_: good to go ✅ )

This PR adds PlutusV2 capability to `bench/tx-generator` and prepares it to use the new SECP built-ins.

* ✅ -- The generator can now handle PlutusV2
* ✅ -- Flake input bump for `plutus-apps`, to include latest SECP scripts for benchmarking
* ✅ -- Script redeemers are now parametrizable in the generator, instead of hard-coded
* ✅  -- workbench integration

Additionally, workbench profiles `plutus-secp-ecdsa` and `plutus-secp-schnorr` have been defined. Those provide a benchmarking auto-loop script w/ a fitting redeemer targeted to use the respective SECP built-in.

In this PR, the cost model used is the one for protocol version 8.0 from `preview`. 

Co-authored-by: Michael Karg <[email protected]>
Co-authored-by: Kosyrev Serge <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Jan 10, 2023

Build failed:

@deepfire deepfire merged commit defbcba into master Jan 10, 2023
@iohk-bors iohk-bors bot deleted the mkarg/tx-generator-plutus-v2-update-ledger branch January 10, 2023 21:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants