PROTO-409:Just Mint It extension#63
Conversation
Oighty
left a comment
There was a problem hiding this comment.
Decent start. There are some rough edges with mapping some of the EVM concepts to SVM. I left a few comments suggesting some changes.
|
Worth noting that JMI if configured properly allows for all existing no-yield functionality. For that reason I'm thinking it makes sense to remove references of no-yield in the program aside from ensuring migrations work properly especially from no-yield -> jmi. Adding more tests today which should verify this |
Oighty
left a comment
There was a problem hiding this comment.
Getting there. Left a more comments. I will probably need to do one more deep dive on all the constraints and validation checks. It would be good to go through that again and verify that the checks are consistent.
…al in replace_asset_with_m for clarity
Co-authored-by: Kurtis Streutker <kurtisstreutker@gmail.com>
…t no-yield doesn't require JMI
SC4RECOIN
left a comment
There was a problem hiding this comment.
lgtm, would like to see the extensions check on the asset setup though
Oighty
left a comment
There was a problem hiding this comment.
Few more comments, but getting close.
…r wrap_asset and replace_asset_with_m
|
@SC4RECOIN in response to: #63 (comment) added additional checks for other extension types -> 8f12e00 Worth noting that whomever is whitelisting the asset in |
Oighty
left a comment
There was a problem hiding this comment.
Approve with one more minor change
Description
This PR introduces Just-in-Time M Issuance (JMI) support across the m_ext and ext_swap programs. It enables wrapping and unwrapping of approved non-M assets into M with explicit accounting, authorization, and safety controls. The implementation ensures correct backing semantics for JMI flows while remaining feature-gated and backward-compatible with non-JMI deployments.
Adapted from JMI EVM specification: https://www.notion.so/JMI-Just-Mint-It-Extension-2bc858df176a803790b2f7edacecdf06
Motivation
JMI requires the ability to mint and redeem M against non-M collateral while preserving strict supply invariants and preventing over-issuance. Existing flows assumed M-native assets and did not account for external asset backing, pausing, or per-asset limits. This change provides the necessary primitives to safely support JMI-style issuance, enforce operational controls, and allow controlled rollout through feature flags.
Changes (High Level)