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

CIP-???? | No Datum Is Unit #364

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

zygomeb
Copy link
Contributor

@zygomeb zygomeb commented Oct 25, 2022

This CIP is a simple quality of life change. It defines a default interpretation of a utxo with no datum (defaulting to ()) for the purposes of scripts that were either erroneously created or make no use of datums.


(draft proposal in branch)

Copy link
Contributor

@michaelpj michaelpj left a comment

Choose a reason for hiding this comment

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

This suggestion has been made a number of times before. I'm reluctant to adopt it for the reason listed here: #309 (comment)


## Specification

When trying to consume a utxo without a datum hash or an inline datum, the node would substitute a unit datum as an argument instead.
Copy link
Contributor

Choose a reason for hiding this comment

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

This is not sufficiently specified. "unit datum" is not a thing. What value of type Data are you proposing?

Copy link
Contributor Author

@zygomeb zygomeb Oct 26, 2022

Choose a reason for hiding this comment

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

It could be anything, really. I am personally split between List [] and I 0. In a future where we accept this proposal, which would you like this to be?

Copy link
Contributor

Choose a reason for hiding this comment

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

I disagree with using something like unit at all, see the linked comment. I would prefer something like Maybe X, but then again we have a representation problem.

@L-as
Copy link
Contributor

L-as commented Oct 28, 2022

I honestly don't see the point in this CIP. It's a very minor space optimisation that is arguably not clean.

@KtorZ
Copy link
Member

KtorZ commented Nov 8, 2022

This proposal falls under the Plutus' umbrella and seems to not be deemed as receivable. As discussed in today's editors meeting, we see two possible ways forward:

  • Withdraw the proposal (i.e. close the PR)
  • Mark the proposal as "Rejected", explain in the rationale why it is rejected (cf @michaelpj's comment) and merge it as such to keep a record of this decision.

@michaelpj
Copy link
Contributor

Probably I should write a CPS about this where I lay out some of the questions that need to be answered by proposed solutions.

@zygomeb
Copy link
Contributor Author

zygomeb commented Nov 24, 2022

Probably I should write a CPS about this where I lay out some of the questions that need to be answered by proposed solutions.

That would be great -- I can close this PR or mark it as a rejected solution, although I would like to get some more insight as to why, @michaelpj, using a default value that could be supplied using a datum would be a bad design decision. (as in the linked PR)

Is there a case where this value being present, in a script-locking context, where it would otherwise be locked forever, be a bad thing?

@KtorZ KtorZ added the Category: Plutus Proposals belonging to the 'Plutus' category. label Mar 18, 2023
@rphair rphair changed the title CIP ???? | No Datum Is Unit CIP-???? | No Datum Is Unit Oct 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Plutus Proposals belonging to the 'Plutus' category.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants