Skip to content

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Miso Record Extensions

License: Apache 2.0 Move

First-party extension packages for the Miso Record on Sui.

The Record is Miso's concrete, Pressing-issued purchase object:

public struct Record has key, store {
    id: UID,
    release_id: ID,
    pressing_id: ID,
    edition: u16,
    number: u32,
    purchase_currency: TypeName,
    purchase_price: u64,
    purchased_by: address,
    purchased_timestamp_ms: u64,
}

Additional extension state can still be attached under module-controlled dynamic-field keys.

Packages

Package Reads Summary
record_seal_policy Record Frozen-gate identity parser, currently fail-closed because &Record cannot prove ownership.

Dependencies

Each package is independently publishable and pins reviewed source revisions:

record = { git = "https://github.com/misofm/record.git", rev = "8ece285b087cecf2892a19bcb13a7360e92b2937" }
musicos = { git = "https://github.com/misofm/musicos.git", rev = "4fed48b2b5632122fb677d742881259c65b1bc78" }

Record's exact package type is the format boundary. Its Pressing authorizes the distributor witness types that may create Records and owns edition-local issuance. The Seal policy reads only the resulting Record and immutable Release. Record and the policy pin the same MusicOS revision, so both network lock graphs resolve one MusicOS package and one immutable BPS dependency.

Design notes

  • Extensions, not forks. Packages use Record's public API and do not modify the core object.
  • Ownership is not inferred from &Record. Record has store, so a newly minted value can be shared or frozen. Either mode makes immutable access available without current address ownership, and Move cannot inspect the mode. The policy therefore fails closed pending an explicit access-capability or custody design.
  • One policy gate. record_seal_policy freezes a single RecordGate during publication. The gate ID and Recording ID remain embedded in the established 98-byte identity layout; the supplied Release must bind them to the Record.

Build and test

cd record_seal_policy
sui move test --build-env testnet
sui move test --build-env mainnet
sui move test --build-env testnet --coverage
sui move coverage summary

Related

Repo Holds
record Record and its edition-local Pressing lifecycle
record-shop Primary-sale Listing and authorized distributor witness
musicos Composition, Recording, Release

License

Apache 2.0 © Miso Labs, Inc.

About

First-party extension packages for the Miso record on Sui.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages