Skip to content

FR: Add support for OpShin scripts (including evaluation internally) #105

Open
@nielstron

Description

@nielstron

Is your feature request related to a problem? Please describe.
Cardano developers may have a hard time debugging their script, as they need to understand the whole Haskell/Pluto stack.

Describe the solution you'd like
Imperator/pyscc provides a compiler from a subset of Python into UPLC, in other words a programming language for Smart Contracts on Cardano, that IS python.

When adding an Imperator script as a script input to a transaction in pycardano, this means that we could offer to evaluate the script during transaction building and signing. This includes being able to step through the Script as it is being evaluated with a normal python debugger.

What we need for this?

  • A flag to signify an added script input is actually an imperator script (and the corresponding source file)
  • A hook inside the transaction builder that calls the imperator script with the correct parameters (i.e. ScriptContext etc)
  • Optimally: Imperator/pycardano using the same definition for PlutusData

Describe alternatives you've considered
None

Additional context
I am developing Imperator/pyscc and can provide the parts of support that are needed on that end. Currently, I am looking into integrating the pycardano definitions of PlutusData and looking for a place where I could add the evaluation hook.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions