Skip to content

Consider transaction-shape annotations #275

Open
@mr-zwets

Description

@mr-zwets

Multiple people have started to describe their tx-shapes for each function inside the .cash file

an example of this is CashStarter by @SayoshiNakamario : https://github.com/SayoshiNakamario/CashStarter/blob/main/CashStarter.cash

@jimtendo wrote:

But, the way he's laid out Tx Shapes in the .cash files is great. [...]
I could see this eventually evolving into a typed system that's somewhat JSDoc/Typedoc-esque.
Where I found this becomes a bit tricky is when an Unlock Function might support several different tx shapes (as an example, imagine a game with a "payout" function... there might be cases where there's a clear winner - or there might be a "draw" case that requires a different shape

We'd need to think about what benefits this would offer inside the .cash file and how we'd need to change the artifact if we'd want these benefits to flow through to the SDK.

I'm not sure whether there is any other programming language which has a similar structure, this is very much unique to the UTXO architecture with introspection...

Metadata

Metadata

Assignees

No one assigned

    Labels

    cashc-compilerRelates to the cashc compilerenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions