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

VINDICATION #2950

Merged
merged 10 commits into from
Jan 5, 2024
Merged

VINDICATION #2950

merged 10 commits into from
Jan 5, 2024

Conversation

casey
Copy link
Collaborator

@casey casey commented Jan 3, 2024

This PR adds a ❤️‍🔥 charm, named "vindicated". The intent is to demonstrate that, with only a small change to ord, we can support BRC-20 indexers that wish to update to a new version of ord at a later date, by letting them skip inscriptions with the vindicated charm until then.

This needs tests before being merged. We should also consider whether or not we want to make this charm visible to end users. Users may prefer not to have an additional charm on their inscriptions.

@casey casey force-pushed the VINDICATION branch 3 times, most recently from 01c9c83 to 4f56f20 Compare January 3, 2024 21:03
@raphjaph
Copy link
Collaborator

raphjaph commented Jan 3, 2024

Why not call it blessed and then use 😇 or 💸 or ✨or 🕍 for the emoji?

@casey
Copy link
Collaborator Author

casey commented Jan 4, 2024

Why not call it blessed and then use 😇 or 💸 or ✨or 🕍 for the emoji?

I dunno, vindication is pretty lindy.

image

image

@DrJingLee
Copy link
Contributor

💸

💸 looks cooool lol

@raphjaph
Copy link
Collaborator

raphjaph commented Jan 4, 2024

I dunno, vindication is pretty lindy.

You can't beat the lindyness of a blessing

image

image

@casey casey marked this pull request as ready for review January 4, 2024 23:53
@casey casey enabled auto-merge (squash) January 5, 2024 00:11
@casey casey merged commit b9b1ddd into ordinals:master Jan 5, 2024
6 checks passed
@casey casey deleted the VINDICATION branch January 5, 2024 00:15
@arik-so
Copy link
Contributor

arik-so commented Jan 9, 2024

I might be wrong, but I think the vindication charm might be getting applied too liberally.

I was just testing minimal op codes inside the content section (OP_9 in this case), and noticed that the vindication charm got applied to the transaction even though all the keys are byte pushes.

Here's the inscription: https://ordinals.com/inscription/c2678d8daa078bfe1b51595a04873a8631ebb5b51774ef8415a33adc743696e9i0

And here's the tx: https://mempool.space/tx/c2678d8daa078bfe1b51595a04873a8631ebb5b51774ef8415a33adc743696e9

I will test in regtest later whether using minimal opcodes just inside the content body used to result in a curse. I could have sworn that even the original ord version would have been able to recognize such an inscription.

EDIT: I think I am indeed wrong. Looks like the original implementation used

while !self.accept(&Instruction::Op(opcodes::all::OP_ENDIF))? {
    body.extend_from_slice(self.expect_push()?);
}

and expect_push() rejected op codes.

@casey
Copy link
Collaborator Author

casey commented Jan 9, 2024

Yup, that's correct, minimal op codes weren't accepted by the first version of ord (which lead to much confusion), and were cursed when supported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants