LNP-BP / LNPBPs

LNP/BP standards for bitcoin layer 2 & 3 protocols
https://standards.lnp-bp.org
202 stars 39 forks source link

RGB: Use i64 instead of i32 for Timestamps in interface standards #165

Closed dr-orlovsky closed 1 year ago

dr-orlovsky commented 1 year ago

Otherwise contracts can't be created after 2038

RGB standard library has also to be updated

CC @fedsten @zoedberg @nicbus @cryptoquick @crisdut

cryptoquick commented 1 year ago

Sure, this is fine so long as it doesn't break consensus. If it does, it'd be really helpful to know, we're about to release our latest today. Also, maybe you could use a GitHub tag for that, so I don't have to ask always :)

dr-orlovsky commented 1 year ago

It may create complications since if you release assets before this change we would need to maintain two versions of RGB20/21 interface (name them differently etc).

I propose to release the i64 fix today such that you can use it to do latest assets without the need to maintain legacy format.

PS for sure I'll do label

dr-orlovsky commented 1 year ago

Btw whatever we do in this repo can't has any consensus effects. Consensus-breaking changes may happen only in consensus repos (rgb-core, bp-core, aluvm, strict-types/encoding, client_side_validation)

cryptoquick commented 1 year ago

I see, that makes sense. It also gets increasingly difficult to maintain older versions of Rust libraries as things get outdated, say through security patches, so that situation is best avoided. Please let us know as soon as you have something we can use.

Perhaps a better label might be major-change, then, as a major indicates a breaking change, even if it doesn't necessarily break consensus.

fedsten commented 1 year ago

ACK

crisdut commented 1 year ago

ACK