IntersectMBO / plutus

The Plutus language implementation and tools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Decide if we need Url in Anchor in PlutusV3 ScriptContext

lehins opened this issue · comments

Describe the feature you'd like

Currently we have the Url specified in the Anchor, both in Ledger and in PlutusV3 script context.

https://github.com/input-output-hk/plutus/blob/78b710d275ec88ec237aba848836883fc5e94ce4/plutus-ledger-api/src/PlutusLedgerApi/V3/Contexts.hs#L113-L119

However, it has been discussed a bit and no-one could think of a single good reason for which we should pass the Anchor Url over to Plutus scripts. Especially since there is nothing we can do in ledger to validate its correctness. Not only we don't check it is in a proper url format, we don't even check if it is utf8 encoded.

So, this ticket here is to decide if we want to keep it ScriptContext or should Anchor be removed and all its uses cases switched to a AnchorDataHash: https://github.com/input-output-hk/plutus/blob/78b710d275ec88ec237aba848836883fc5e94ce4/plutus-ledger-api/src/PlutusLedgerApi/V3/Contexts.hs#L92

Describe alternatives you've considered

No response

I can't really see what any of it is useful for, tbh. But our usual policy is just to pass what's there, so I think we should just pass it regardless.

our usual policy is just to pass what's there

This is not necessarily always true. Just of top of my head we don't pass NetworkId nor did we pass contents of GenesisDeleg and Mir certificates.

I am definitely not opposed to passing Url to Plutus, I am just trying to make sure everyone is on the same page and there is a concrete decision made about this.

Right, it's not always true, but I think it should be the default.

We should discuss internally whether we want to keep anchorUrl in there, but this appears to be a low-priority issue and I'm marking it as such.

Ah, nevermind, Anchor was removed by #5481, so I'm closing the issue.