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

Make commit verify semantic id public from crate. #143

Merged
merged 1 commit into from
Feb 4, 2024

Conversation

cryptoquick
Copy link
Member

For us, semantic IDs are important information, and it'd be helpful if we can expose the commit verify semantic ID. For context, this is our current auto-generated RGB_LIB_IDs.toml file after the RGB 0.11 upgrade:

# Auto-generated semantic IDs for RGB consensus-critical libraries and their corresponding versions of bitmask-core.

[LIB_ID_RGB]
# Consensus-breaking: If changed, assets must be reissued
"urn:ubideco:stl:4fGZWR5mH5zZzRZ1r7CSRe776zm3hLBUngfXc4s3vm3V#saturn-flash-emerald" = "0.6.0-rc.17"
"urn:ubideco:stl:141hHBYBr2mzKyskZbRuwazYC9ki5x9ZrrzQHLbgBzx#oscar-rufus-tractor" = "0.7.0-rc.2"

[LIB_ID_RGB_CONTRACT]
# Interface-only: If changed, only a new interface implementation is needed. No reiussance or migration necessary.
"urn:ubideco:stl:6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr#choice-little-boxer" = "0.6.0-rc.17"
"urn:ubideco:stl:pGtgmYchjsHEdmKzmkc6SX8rDm4qxN472K8vQyLmNGX#polygon-antonio-violet" = "0.7.0-rc.2"

[LIB_ID_RGB20]
"urn:ubideco:stl:GVz4mvYE94aQ9q2HPtV9VuoppcDdduP54BMKffF7YoFH#prince-scarlet-ringo" = "0.6.0-rc.17"

[LIB_ID_RGB21]
"urn:ubideco:stl:3miGC5GTW58CeuGJgomApmdjm8N6Yu6YuuURS8N4WVBA#opera-cool-bread" = "0.6.0-rc.17"
"urn:ubideco:stl:3HCD3uDCC2EmGASKnxPaFUCgRBT59SbmJkHjkXh8Ht7B#compare-ship-voodoo" = "0.7.0-rc.2"

[LIB_ID_RGB25]
"urn:ubideco:stl:4JmGrg7oTgwuCQtyC4ezC38ToHMzgMCVS5kMSDPwo2ee#camera-betty-bank" = "0.6.0-rc.17"

[LIB_ID_RGB_STD]
# Not consensus-breaking: If changed, only stash and consignments must be updated. No reiussance or migration necessary.
"urn:ubideco:stl:3KXsWZ6hSKRbPjSVwRGbwnwJp3ZNQ2tfe6QUwLJEDG6K#twist-paul-carlo" = "0.6.0-rc.17"
"urn:ubideco:stl:GWQoxySX59F4FHGxNdpKN4uKT8bkVyquvk3uz6pyQdP3#profit-escort-karl" = "0.7.0-rc.2"

Copy link
Member

@dr-orlovsky dr-orlovsky left a comment

Choose a reason for hiding this comment

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

ACK fd27d94

@dr-orlovsky
Copy link
Member

FYI: change of the semantic ID doesn't mean consensus-breaking changes; it just suggests that there might be some. For instance, if I change the name of some field in a structure, it will change all semantic IDs down, however the change might be non-consensus-breaking (like fixing a typo in the name).

These ids are called "semantic" for a purpose: they commit not just to a memory/serialization layout, but to a meaning of the data. For instance, if I would ever change name ReservedBytes in

pub reserved: ReservedBytes<0, 4>,
to Flags spanning the same fixed 4 bytes, it won't change the serialization or memory layout, but still will mean consensus-breaking changes (since in ReservedBytes they must be set to 0, otherwise error happens).

Also, it is important to remember that there might be consensus changes without change in semantic IDs; for instance if we would change the tags in hashes for data commitments.

@dr-orlovsky dr-orlovsky merged commit fea6b66 into RGB-WG:master Feb 4, 2024
17 of 19 checks passed
@cryptoquick cryptoquick deleted the HB/commit-verify-semid branch February 4, 2024 15:39
@cryptoquick
Copy link
Member Author

Good to know, thank you.

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.

2 participants