IntersectMBO / IntersectMBO/cardano-node
[FR] - cli build cmd to use PlutusDebug
- Dominant language
- Haskell
- Stars
- 3.2k
- Forks
- 754
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 20
Description
**Internal/External**
*Internal* if an IOHK staff member.
**Area**
*Plutus* Related to Plutus Scripts (Alonzo).
**Describe the feature you'd like**
On `submit` we see `PlutusDebug` output if plutus script evaluation fails. This would be helpful to also see when using `build` cmd (because otherwise you'll probably never see it).
For example, on `build` I see only the error from plutus:
```bash
Command failed: transaction build Error: The following scripts have execution failures:
the script for policyId 0 (in the order of the PolicyIds) failed with:
The Plutus script evaluation failed: An error has occurred: User error:
The machine terminated because of an error, either from a built-in function or from an explicit use of 'error'.
Script debugging logs: wrong token name
PT5
```
but having built with `build-raw` I get way more info about the script data on `submit`, including useful bits like the validity range:
```
Command failed: transaction submit Error: Error while submitting tx: ShelleyTxValidationError ShelleyBasedEraBabbage (ApplyTxError [UtxowFailure (UtxoFailure (FromAlonzoUtxoFail (UtxosFailure (ValidationTagMismatch (IsValid True) (FailedUnexpectedly (PlutusFailure "\nThe 2 arg plutus script (PlutusScript PlutusV1 ScriptHash \"1cdc58c3b6d1ab11dd047ac9e3a2ec26aabf0839abe37b791cb810f2\") fails.\nCekError An error has occurred: User error:\nThe machine terminated because of an error, either from a built-in function or from an explicit use of 'error'.\nThe protocol version is: ProtVer {pvMajor = 7, pvMinor = 0}\nThe redeemer is: B \"b\"\nThe context is:\nPurpose: Minting 1cdc58c3b6d1ab11dd047ac9e3a2ec26aabf0839abe37b791cb810f2\nTxInfo:\n TxId: 3d841763debfba56b758b691cc09d34d4a885bca5dee6112825f09297027f8b9\n Inputs: [ cdbc04f2c3e4d34eb925400af0e323461b263c8072c22db165685a9117b73211!0 -> - Value (Map [(,Map [(\"\",10000000000)])]) addressed to\n PubKeyCredential: f778997b5e0fcaec19b7580bc23d010d24de9eea16f0275b5e766046 (no staking credential) ]\n Outputs: [ - Value (Map [(,Map [(\"\",9999000000)]),(1cdc58c3b6d1ab11dd047ac9e3a2ec26aabf0839abe37b791cb810f2,Map [(\"a\",1)])]) addressed to\n PubKeyCredential: f778997b5e0fcaec19b7580bc23d010d24de9eea16f0275b5e766046 (no staking credential) ]\n Fee: Value (Map [(,Map [(\"\",1000000)])])\n Value minted: Value (Map [(1cdc58c3b6d1ab11dd047ac9e3a2ec26aabf0839abe37b791cb810f2,Map [(\"a\",1)])])\n DCerts: []\n Wdrl: []\n Valid range: (-\8734 , +\8734)\n Signatories: []\n Datums: []\n" "hgCYphoAAwJZAAEBGgAGC8cZAm0AARoAAknwGQPoAAEaAAJJ8BggGgAlzqgZcfcEGXRNGGQZdE0YZBl0TRhkGXRNGGQZdE0YZBl0TRhkGGQYZBl0TRhkGgACSfAYIBoAAknwGCAaAAJJ8BggGgACSfAZA+gAARoAAknwGCAaAAJJ8BkD6AAIGgACQiAaAAZ+Ixh2AAEBGgACSfAZA+gACBoAAknwGgABt5gY9wEaAAJJ8BknEAEaAAIVXhkFLgEZA+gaAAJJ8BkD6AEaAAJJ8BggGgACSfAYIBoAAknwGCABARoAAknwARoAAknwBBoAAZSvGPgBGgABlK8Y+AEaAAI3fBkFVgEaAAK96hkB8QEaAAJJ8BggGgACSfAYIBoAAknwGCAaAAJJ8BggGgACSfAYIBoAAknwGCAaAAJCIBoABn4jGHYAAQEZ8EwZK9IAARoAAknwGCAaAAJCIBoABn4jGHYAAQEaAAJCIBoABn4jGHYAAQEaACXOqBlx9wQAGgABQbsEGgACSfAZE4gAARoAAknwGCAaAAMCWQABARoAAknwGCAaAAJJ8BggGgACSfAYIBoAAknwGCAaAAJJ8BggGgACSfAYIBoAAknwGCAaADMNpwEBghoAB4yaGgzPuypZB9tZB9gBAAAyMjIyMjIyMjIzIjIyMjIyMyIyMjIyIjIyUzUyMjIyUzUAEQFRM1c4kgEQd3JvbmcgdG9rZW4gbmFtZQABQyMzVzRm4kAFIAABQBUyMjIwAQAzIAE1UB8iM1ABSAAIjUAIiUzUzNXNGbjwAgBwHAGxMAoAETAGADNQAiIzM1ABIyYyAfM1c4khAkxoAAHyABIyYyAfM1c4kgECTGgAAfIyYyAfM1c4kgECTGgAAfMjUAEiIiIiIgBzUAEiACMzNXNGbhzVXOqAIkAARmRCRmACAGAEZGRkZGRkZGRkZGRmZq5ozcOaq51QCkgACMzMzMzMiIiIiIhIzMzMzMwAQCwCgCQCABwBgBQBAAwAjNQFCMjIzM1c0ZuHNVc6oASQABGZEJGYAIAYARgPmroVACMBk1dCauiUAIjJjICszVzgFgFYFImqueUAETdUACauhUAozUBQBU1dCoBJmaqAu65QFjV0KgEGZqoC7rlAWNXQqAOZqAoBCauhUAYzUBQzVQJAInWmroVAFMjIyMzNXNGbhzVXOqAEkAARmRCRmACAGAEZGRkZmauaM3DmqudUAJIAAjMiEjMAEAMAIzUCV1pq6FQAjAmNXQmrolACIyYyAvM1c4BgBeBaJqrnlABE3VAAmroVACMjIyMzNXNGbhzVXOqAEkAARmRCRmACAGAEZqBK601dCoARgTGroTV0SgBEZMZAXmaucAwAvAtE1VzygAibqgATV0Jq6JQAiMmMgKzNXOAWAVgUiaq55QARN1QAJq6FQBDNQFHXGroVADM1AUM1UCR1xAAmroVACMBw1dCauiUAIjJjICczVzgFAE4EomrolABE1dEoAImrolABE1dEoAImrolABE1dEoAImrolABE1dEoAImqueUAETdUACauhUAQyMjIzM1c0ZuHUAFIAYjISIiMAQAUwGTV0JqrnlADIzM1c0ZuHUAJIAQjISIiMAIAUwGzV0JqrnlAEIzM1c0ZuHUANIAIjISIiMAEAUwFTV0JqrnlAFIzM1c0ZuHUARIAAjISIiMAMAU3XGroTVXPKAMRkxkBEZq5wCMCICAB8B4B0TVXOqACJuqABNXQmrolAEIyYyAbM1c4A4A2AyZAAmqgNkRmoAKQABEagBESmamZq5ozceAEAOAwAuIAImAMAGbrgBBAYEyYyAYM1c4khA1BUNQABgTVXPKACJuqABEjIjACN1gAJkACaqAsRGZmqufABJQCSM1AIMAQ1dCAEYAZq6IAIBYjIyMjMzVzRm4c1VzqgBpAAEZmREJGZgAgCABgBGRkZGZmrmjNw5qrnVACSAAIzIhIzABADACMBc1dCoARmoBwCxq6E1dEoARGTGQDZmrnAHAGwGRNVc8oAIm6oAE1dCoAZmaqAO65QBjV0KgBGagFOuNXQmrolACIyYyAXM1c4AwAuAqJq6JQARNVc8oAIm6oAETNVABdc60RIjIjACN1YAJkACaqAoRGRmZqrnwAiUAgjNQBzNVAUMAY1VzqgBGAKaq55QAjAENXRABgKiauhABESIAISISIzABAEADEiMjIzM1c0ZuHUAFIAAjISIwAgAzAFNXQmqueUAMjMzVzRm4dQAkgAiEiABIyYyATM1c4AoAmAiAgJqrnVABE3VAAkZGRmZq5ozcOaq51QAkgACMyISMwAQAwAjAFNXQqAEbrTV0Jq6JQAiMmMgEDNXOAIgIAHCaq55QARN1QAJGRmZq5ozcOaq51QAUgACN1xq6E1VzygBEZMZAHGaucAPAOAME3VAAiRGRkZmauaM3DqACkAIQkRAAkZmauaM3DqAEkAERkJERgBgCGAMauhNVc8oAhGZmrmjNw6gBpAAEJEQARGTGQCJmrnAEgEQDwDgDRNVc6oAIm6oAEjIzM1c0ZuHUAFIAIgBSMzNXNGbh1ACSAAIAUjJjIA0zVzgBwBoBYBQmqudN1QAIkQAQkQAJGRkZGRkZmauaM3DqACkAYQkREREAGRmZq5ozcOoASQBRCREREQAhGZmrmjNw6gBpAEEZkQkREREZgAgEgEG641dCoAputNXQmrolAFIzM1c0ZuHUARIAYjMiEiIiIjMAIAkAg3XGroVAHN1xq6E1dEoA5GZmrmjNw6gCpACEZkQkREREZgDAEgEGAYauhUAk3XGroTV0SgEkZmauaM3DqAMkAERkJERERGAOAQYBpq6E1VzygFkZmauaM3DqAOkAARkJERERGAKAQYBxq6E1VzygGEZMZAJmaucAUATARAQAPAOANAMALE1VzqgCCaq55QAxNVc8oAQmqueUAETdUACRkZGRkZmauaM3DqACkAERmZEQkRmYAIAoAgAZutNXQqAIbrTV0KgBm601dCauiUAMjMzVzRm4dQAkgACMhIjACADMAg1dCaq55QBiMmMgDDNXOAGgGAFAEiaq51QAxNXRKACJqrnlABE3VAAkZGRmZq5ozcOoAKQARGQkRgAgBm641dCaq55QAyMzNXNGbh1ACSAAIyEiMAIAM3XGroTVXPKAIRkxkASZq5wAoAkAcAYTVXOqACJuqABESIjIyMzNXNGbhzVXOqAEkAARmqgDmAMauhUAIwBTV0Jq6JQAiMmMgCTNXOAFAEgDiaq55QARN1QAIiRCRmACAGAEkwkACkgQNQVDEAESMjABABIjMAMwAgAgARn0Fi2Hmf2Hmfn9h5n9h5n9h5n1ggzbwE8sPk0065JUAK8OMjRhsmPIBywi2xZWhakRe3MhH/AP/YeZ/YeZ/YeZ9YHPd4mXteD8rsGbdYC8I9AQ0k3p7qFvAnW152YEb/2HqA/6FAoUAbAAAAAlQL5ADYeoD///+f2Hmf2Hmf2HmfWBz3eJl7Xg/K7Bm3WAvCPQENJN6e6hbwJ1tedmBG/9h6gP+iQKFAGwAAAAJT/KHAWBwc3FjDttGrEd0Eesnjouwmqr8IOavje3kcuBDyoUFhAdh6gP//oUChQBoAD0JAokChQABYHBzcWMO20asR3QR6yeOi7Caqvwg5q+N7eRy4EPKhQWEBgIDYeZ/YeZ/YeYDYeoD/2Hmf2HuA2HqA//+AgNh5n1ggPYQXY96/ula3WLaRzAnTTUqIW8pd7mESgl8JKXAn+Ln//9h5n1gcHNxYw7bRqxHdBHrJ46LsJqq/CDmr43t5HLgQ8v///4IHAA==" :| []))))))])
```
**Describe alternatives you've considered**
Due to its verbosity it could have a flag to enable/disable.
It would also be good to tidy up the `PlutusDebug` output somewhat.
Contributor guide
Assessment
This issue has not been assessed yet.