@misofm/sdk 0.15.11 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +210 -73
- package/dist/client.d.ts +224 -68
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +465 -79
- package/dist/client.js.map +1 -1
- package/dist/contracts/composition_credits/composition_credits.d.ts +10 -10
- package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -1
- package/dist/contracts/composition_credits/composition_credits.js.map +1 -1
- package/dist/contracts/composition_credits/composition_party_role.d.ts +1 -1
- package/dist/contracts/composition_credits/composition_party_role.d.ts.map +1 -1
- package/dist/contracts/composition_credits/composition_party_role.js.map +1 -1
- package/dist/contracts/composition_credits/deps/miso_credit/credit.d.ts.map +1 -1
- package/dist/contracts/composition_credits/deps/miso_credit/credit.js.map +1 -1
- package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts.map +1 -1
- package/dist/contracts/composition_credits/deps/sui/vec_map.js.map +1 -1
- package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +29 -93
- package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -1
- package/dist/contracts/composition_routed_stake/composition_routed_stake.js +19 -79
- package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -1
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +22 -106
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -1
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +16 -98
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -1
- package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts +90 -0
- package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts.map +1 -0
- package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js +85 -0
- package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js.map +1 -0
- package/dist/contracts/{party_wallet → composition_royalty_pool_plugin}/witness.d.ts +1 -1
- package/dist/contracts/composition_royalty_pool_plugin/witness.d.ts.map +1 -0
- package/dist/contracts/{recording_royalty_pool → composition_royalty_pool_plugin}/witness.js +1 -1
- package/dist/contracts/composition_royalty_pool_plugin/witness.js.map +1 -0
- package/dist/contracts/cover_art/cover_art.d.ts +4 -4
- package/dist/contracts/cover_art/cover_art.d.ts.map +1 -1
- package/dist/contracts/cover_art/cover_art.js.map +1 -1
- package/dist/contracts/cover_art/deps/ori/walrus_data.d.ts +4 -4
- package/dist/contracts/cover_art/deps/ori/walrus_data.d.ts.map +1 -1
- package/dist/contracts/cover_art/deps/ori/walrus_data.js.map +1 -1
- package/dist/contracts/genre/genre.d.ts +6 -6
- package/dist/contracts/genre/genre.d.ts.map +1 -1
- package/dist/contracts/genre/genre.js.map +1 -1
- package/dist/contracts/{miso_pressing → miso_record}/deps/std/type_name.d.ts +1 -1
- package/dist/contracts/miso_record/deps/std/type_name.d.ts.map +1 -0
- package/dist/contracts/miso_record/deps/std/type_name.js.map +1 -0
- package/dist/contracts/miso_record/deps/sui/vec_set.d.ts +21 -0
- package/dist/contracts/miso_record/deps/sui/vec_set.d.ts.map +1 -0
- package/dist/contracts/miso_record/deps/sui/vec_set.js +20 -0
- package/dist/contracts/miso_record/deps/sui/vec_set.js.map +1 -0
- package/dist/contracts/miso_record/pressing.d.ts +327 -0
- package/dist/contracts/miso_record/pressing.d.ts.map +1 -0
- package/dist/contracts/miso_record/pressing.js +345 -0
- package/dist/contracts/miso_record/pressing.js.map +1 -0
- package/dist/contracts/miso_record/record.d.ts +190 -0
- package/dist/contracts/miso_record/record.d.ts.map +1 -0
- package/dist/contracts/miso_record/record.js +226 -0
- package/dist/contracts/miso_record/record.js.map +1 -0
- package/dist/contracts/miso_record_shop/deps/std/type_name.d.ts +18 -0
- package/dist/contracts/miso_record_shop/deps/std/type_name.d.ts.map +1 -0
- package/dist/contracts/miso_record_shop/deps/std/type_name.js +20 -0
- package/dist/contracts/miso_record_shop/deps/std/type_name.js.map +1 -0
- package/dist/contracts/miso_record_shop/listing.d.ts +387 -0
- package/dist/contracts/miso_record_shop/listing.d.ts.map +1 -0
- package/dist/contracts/miso_record_shop/listing.js +380 -0
- package/dist/contracts/miso_record_shop/listing.js.map +1 -0
- package/dist/contracts/{release_revenue_distributor → miso_record_shop}/witness.d.ts +2 -2
- package/dist/contracts/miso_record_shop/witness.d.ts.map +1 -0
- package/dist/contracts/{release_revenue_distributor → miso_record_shop}/witness.js +2 -2
- package/dist/contracts/miso_record_shop/witness.js.map +1 -0
- package/dist/contracts/party_wallet/party_wallet.d.ts +41 -168
- package/dist/contracts/party_wallet/party_wallet.d.ts.map +1 -1
- package/dist/contracts/party_wallet/party_wallet.js +27 -152
- package/dist/contracts/party_wallet/party_wallet.js.map +1 -1
- package/dist/contracts/recording_advisory/recording_advisory.d.ts +3 -3
- package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -1
- package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -1
- package/dist/contracts/recording_credits/deps/miso_credit/credit.d.ts.map +1 -1
- package/dist/contracts/recording_credits/deps/miso_credit/credit.js.map +1 -1
- package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts.map +1 -1
- package/dist/contracts/recording_credits/deps/sui/vec_map.js.map +1 -1
- package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts.map +1 -1
- package/dist/contracts/recording_credits/deps/sui/vec_set.js.map +1 -1
- package/dist/contracts/recording_credits/recording_credits.d.ts +20 -20
- package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -1
- package/dist/contracts/recording_credits/recording_credits.js.map +1 -1
- package/dist/contracts/recording_credits/recording_party_role.d.ts +30 -30
- package/dist/contracts/recording_credits/recording_party_role.d.ts.map +1 -1
- package/dist/contracts/recording_credits/recording_party_role.js.map +1 -1
- package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +1 -1
- package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -1
- package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -1
- package/dist/contracts/recording_language/recording_language.d.ts +4 -4
- package/dist/contracts/recording_language/recording_language.d.ts.map +1 -1
- package/dist/contracts/recording_language/recording_language.js.map +1 -1
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts +4 -4
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts.map +1 -1
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js.map +1 -1
- package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +6 -6
- package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -1
- package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -1
- package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts +4 -4
- package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts.map +1 -1
- package/dist/contracts/recording_preview/deps/ori/walrus_data.js.map +1 -1
- package/dist/contracts/recording_preview/recording_preview.d.ts +6 -6
- package/dist/contracts/recording_preview/recording_preview.d.ts.map +1 -1
- package/dist/contracts/recording_preview/recording_preview.js.map +1 -1
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +21 -109
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -1
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +15 -100
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -1
- package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts +92 -0
- package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts.map +1 -0
- package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js +85 -0
- package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js.map +1 -0
- package/dist/contracts/{composition_royalty_pool → recording_royalty_pool_plugin}/witness.d.ts +1 -1
- package/dist/contracts/recording_royalty_pool_plugin/witness.d.ts.map +1 -0
- package/dist/contracts/{party_wallet → recording_royalty_pool_plugin}/witness.js +1 -1
- package/dist/contracts/recording_royalty_pool_plugin/witness.js.map +1 -0
- package/dist/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.d.ts +7 -7
- package/dist/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.d.ts.map +1 -1
- package/dist/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.js +1 -1
- package/dist/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.js.map +1 -1
- package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts +7 -7
- package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts.map +1 -1
- package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js +1 -1
- package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js.map +1 -1
- package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts.map +1 -1
- package/dist/contracts/release_cover_art/deps/per_track/per_track.js.map +1 -1
- package/dist/contracts/release_cover_art/release_cover_art.d.ts +23 -23
- package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -1
- package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -1
- package/dist/contracts/release_credits/deps/miso_credit/credit.d.ts.map +1 -1
- package/dist/contracts/release_credits/deps/miso_credit/credit.js.map +1 -1
- package/dist/contracts/release_credits/deps/sui/vec_map.d.ts.map +1 -1
- package/dist/contracts/release_credits/deps/sui/vec_map.js.map +1 -1
- package/dist/contracts/release_credits/release_credits.d.ts +10 -10
- package/dist/contracts/release_credits/release_credits.d.ts.map +1 -1
- package/dist/contracts/release_credits/release_credits.js.map +1 -1
- package/dist/contracts/release_description/release_description.d.ts +4 -4
- package/dist/contracts/release_description/release_description.d.ts.map +1 -1
- package/dist/contracts/release_description/release_description.js.map +1 -1
- package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +41 -42
- package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -1
- package/dist/contracts/release_dsp_link/release_dsp_link.js +4 -5
- package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -1
- package/dist/contracts/release_genre/deps/per_track/per_track.d.ts.map +1 -1
- package/dist/contracts/release_genre/deps/per_track/per_track.js.map +1 -1
- package/dist/contracts/release_genre/release_genre.d.ts +15 -15
- package/dist/contracts/release_genre/release_genre.d.ts.map +1 -1
- package/dist/contracts/release_genre/release_genre.js.map +1 -1
- package/dist/contracts/release_kind/release_kind.d.ts +4 -4
- package/dist/contracts/release_kind/release_kind.d.ts.map +1 -1
- package/dist/contracts/release_kind/release_kind.js.map +1 -1
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +46 -59
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -1
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +27 -48
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -1
- package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts +75 -0
- package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts.map +1 -0
- package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js +80 -0
- package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js.map +1 -0
- package/dist/contracts/{recording_royalty_pool → release_revenue_distributor_plugin}/witness.d.ts +1 -1
- package/dist/contracts/release_revenue_distributor_plugin/witness.d.ts.map +1 -0
- package/dist/contracts/{composition_royalty_pool → release_revenue_distributor_plugin}/witness.js +1 -1
- package/dist/contracts/release_revenue_distributor_plugin/witness.js.map +1 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +5 -5
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -1
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -1
- package/dist/contracts/routed_stake/deps/std/type_name.d.ts +1 -1
- package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -1
- package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -1
- package/dist/contracts/routed_stake/deps/sui/balance.d.ts +1 -1
- package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -1
- package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -1
- package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -1
- package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -1
- package/dist/contracts/routed_stake/routed_stake.d.ts +15 -15
- package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -1
- package/dist/contracts/routed_stake/routed_stake.js.map +1 -1
- package/dist/contracts/royalty_pool/deps/std/type_name.d.ts +1 -1
- package/dist/contracts/royalty_pool/deps/std/type_name.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/deps/std/type_name.js.map +1 -1
- package/dist/contracts/royalty_pool/deps/sui/balance.d.ts +1 -1
- package/dist/contracts/royalty_pool/deps/sui/balance.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/deps/sui/balance.js.map +1 -1
- package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/deps/sui/vec_map.js.map +1 -1
- package/dist/contracts/royalty_pool/pool.d.ts +19 -19
- package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/pool.js.map +1 -1
- package/dist/contracts/royalty_pool/stake.d.ts +9 -9
- package/dist/contracts/royalty_pool/stake.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/stake.js.map +1 -1
- package/dist/contracts/vault/deps/sui/bag.d.ts +2 -2
- package/dist/contracts/vault/deps/sui/bag.d.ts.map +1 -1
- package/dist/contracts/vault/deps/sui/bag.js.map +1 -1
- package/dist/contracts/vault/deps/sui/borrow.d.ts.map +1 -1
- package/dist/contracts/vault/deps/sui/borrow.js.map +1 -1
- package/dist/contracts/vault/vault.d.ts +19 -93
- package/dist/contracts/vault/vault.d.ts.map +1 -1
- package/dist/contracts/vault/vault.js +16 -95
- package/dist/contracts/vault/vault.js.map +1 -1
- package/dist/contracts.d.ts +6 -3
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +9 -5
- package/dist/contracts.js.map +1 -1
- package/dist/deployments.d.ts +156 -77
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +146 -32
- package/dist/deployments.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +9 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +23 -0
- package/dist/internal.js.map +1 -1
- package/dist/mix.d.ts +144 -0
- package/dist/mix.d.ts.map +1 -0
- package/dist/mix.js +656 -0
- package/dist/mix.js.map +1 -0
- package/dist/pressing.d.ts +72 -156
- package/dist/pressing.d.ts.map +1 -1
- package/dist/pressing.js +269 -261
- package/dist/pressing.js.map +1 -1
- package/dist/publication.d.ts +6 -6
- package/dist/publication.d.ts.map +1 -1
- package/dist/publication.js +134 -90
- package/dist/publication.js.map +1 -1
- package/dist/read/catalog.d.ts +8 -5
- package/dist/read/catalog.d.ts.map +1 -1
- package/dist/read/catalog.js +47 -35
- package/dist/read/catalog.js.map +1 -1
- package/dist/read/config.d.ts +6 -4
- package/dist/read/config.d.ts.map +1 -1
- package/dist/read/config.js +10 -3
- package/dist/read/config.js.map +1 -1
- package/dist/read/index.d.ts +1 -1
- package/dist/read/index.d.ts.map +1 -1
- package/dist/read/index.js +1 -1
- package/dist/read/index.js.map +1 -1
- package/dist/read/internal/scalars.d.ts.map +1 -1
- package/dist/read/internal/scalars.js +4 -3
- package/dist/read/internal/scalars.js.map +1 -1
- package/dist/read/internal/walrus.d.ts.map +1 -1
- package/dist/read/internal/walrus.js +2 -1
- package/dist/read/internal/walrus.js.map +1 -1
- package/dist/read/receipts.d.ts +21 -12
- package/dist/read/receipts.d.ts.map +1 -1
- package/dist/read/receipts.js +159 -56
- package/dist/read/receipts.js.map +1 -1
- package/dist/read/types.d.ts +34 -24
- package/dist/read/types.d.ts.map +1 -1
- package/dist/read/wallet.d.ts.map +1 -1
- package/dist/read/wallet.js +31 -46
- package/dist/read/wallet.js.map +1 -1
- package/dist/vault.d.ts +81 -48
- package/dist/vault.d.ts.map +1 -1
- package/dist/vault.js +173 -174
- package/dist/vault.js.map +1 -1
- package/package.json +17 -7
- package/src/client.ts +618 -120
- package/src/contracts/composition_credits/composition_credits.ts +3 -2
- package/src/contracts/composition_credits/composition_party_role.ts +5 -4
- package/src/contracts/composition_credits/deps/miso_credit/credit.ts +1 -0
- package/src/contracts/composition_credits/deps/sui/vec_map.ts +1 -0
- package/src/contracts/composition_routed_stake/composition_routed_stake.ts +36 -146
- package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +28 -169
- package/src/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.ts +165 -0
- package/src/contracts/{recording_royalty_pool → composition_royalty_pool_plugin}/witness.ts +2 -1
- package/src/contracts/cover_art/cover_art.ts +2 -1
- package/src/contracts/cover_art/deps/ori/walrus_data.ts +1 -0
- package/src/contracts/genre/genre.ts +3 -2
- package/src/contracts/{miso_pressing → miso_record}/deps/std/type_name.ts +1 -0
- package/src/contracts/miso_record/deps/sui/vec_set.ts +22 -0
- package/src/contracts/miso_record/pressing.ts +523 -0
- package/src/contracts/miso_record/record.ts +339 -0
- package/src/contracts/miso_record_shop/deps/std/type_name.ts +23 -0
- package/src/contracts/miso_record_shop/listing.ts +603 -0
- package/src/contracts/{release_revenue_distributor → miso_record_shop}/witness.ts +3 -2
- package/src/contracts/party_wallet/party_wallet.ts +41 -256
- package/src/contracts/recording_advisory/recording_advisory.ts +4 -3
- package/src/contracts/recording_credits/deps/miso_credit/credit.ts +1 -0
- package/src/contracts/recording_credits/deps/sui/vec_map.ts +1 -0
- package/src/contracts/recording_credits/deps/sui/vec_set.ts +1 -0
- package/src/contracts/recording_credits/recording_credits.ts +3 -2
- package/src/contracts/recording_credits/recording_party_role.ts +5 -4
- package/src/contracts/recording_language/deps/language_code/language_code.ts +1 -0
- package/src/contracts/recording_language/recording_language.ts +5 -4
- package/src/contracts/recording_master_reference/deps/ori/walrus_data.ts +1 -0
- package/src/contracts/recording_master_reference/recording_master_reference.ts +6 -5
- package/src/contracts/recording_preview/deps/ori/walrus_data.ts +1 -0
- package/src/contracts/recording_preview/recording_preview.ts +2 -1
- package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +27 -172
- package/src/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.ts +167 -0
- package/src/contracts/{party_wallet → recording_royalty_pool_plugin}/witness.ts +2 -1
- package/src/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.ts +2 -1
- package/src/contracts/release_cover_art/deps/cover_art/cover_art.ts +3 -2
- package/src/contracts/release_cover_art/deps/per_track/per_track.ts +3 -2
- package/src/contracts/release_cover_art/release_cover_art.ts +2 -1
- package/src/contracts/release_credits/deps/miso_credit/credit.ts +1 -0
- package/src/contracts/release_credits/deps/sui/vec_map.ts +1 -0
- package/src/contracts/release_credits/release_credits.ts +4 -3
- package/src/contracts/release_credits/release_party_role.ts +4 -4
- package/src/contracts/release_description/release_description.ts +6 -5
- package/src/contracts/release_dsp_link/release_dsp_link.ts +8 -8
- package/src/contracts/release_genre/deps/per_track/per_track.ts +3 -2
- package/src/contracts/release_genre/release_genre.ts +4 -3
- package/src/contracts/release_kind/release_kind.ts +5 -4
- package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +50 -85
- package/src/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.ts +145 -0
- package/src/contracts/{composition_royalty_pool → release_revenue_distributor_plugin}/witness.ts +2 -1
- package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +1 -0
- package/src/contracts/routed_stake/deps/std/type_name.ts +1 -0
- package/src/contracts/routed_stake/deps/sui/balance.ts +1 -0
- package/src/contracts/routed_stake/deps/sui/vec_map.ts +1 -0
- package/src/contracts/routed_stake/routed_stake.ts +4 -3
- package/src/contracts/royalty_pool/deps/std/type_name.ts +1 -0
- package/src/contracts/royalty_pool/deps/sui/balance.ts +1 -0
- package/src/contracts/royalty_pool/deps/sui/vec_map.ts +1 -0
- package/src/contracts/royalty_pool/pool.ts +1 -0
- package/src/contracts/royalty_pool/stake.ts +1 -0
- package/src/contracts/vault/deps/sui/bag.ts +3 -2
- package/src/contracts/vault/deps/sui/borrow.ts +2 -1
- package/src/contracts/vault/vault.ts +27 -152
- package/src/contracts.ts +9 -5
- package/src/deployments.ts +273 -55
- package/src/index.ts +5 -0
- package/src/internal.ts +27 -0
- package/src/mix.ts +910 -0
- package/src/pressing.ts +428 -423
- package/src/publication.ts +148 -101
- package/src/read/catalog.ts +49 -34
- package/src/read/config.ts +19 -8
- package/src/read/index.ts +9 -1
- package/src/read/internal/scalars.ts +4 -2
- package/src/read/internal/walrus.ts +2 -1
- package/src/read/receipts.ts +181 -66
- package/src/read/types.ts +35 -22
- package/src/read/wallet.ts +29 -50
- package/src/vault.ts +275 -271
- package/dist/contracts/composition_routed_stake/witness.d.ts +0 -7
- package/dist/contracts/composition_routed_stake/witness.d.ts.map +0 -1
- package/dist/contracts/composition_routed_stake/witness.js +0 -9
- package/dist/contracts/composition_routed_stake/witness.js.map +0 -1
- package/dist/contracts/composition_royalty_pool/witness.d.ts.map +0 -1
- package/dist/contracts/composition_royalty_pool/witness.js.map +0 -1
- package/dist/contracts/miso_pressing/certificate.d.ts +0 -89
- package/dist/contracts/miso_pressing/certificate.d.ts.map +0 -1
- package/dist/contracts/miso_pressing/certificate.js +0 -108
- package/dist/contracts/miso_pressing/certificate.js.map +0 -1
- package/dist/contracts/miso_pressing/deps/std/type_name.d.ts.map +0 -1
- package/dist/contracts/miso_pressing/deps/std/type_name.js.map +0 -1
- package/dist/contracts/miso_pressing/listing.d.ts +0 -434
- package/dist/contracts/miso_pressing/listing.d.ts.map +0 -1
- package/dist/contracts/miso_pressing/listing.js +0 -401
- package/dist/contracts/miso_pressing/listing.js.map +0 -1
- package/dist/contracts/miso_pressing/pressing.d.ts +0 -334
- package/dist/contracts/miso_pressing/pressing.d.ts.map +0 -1
- package/dist/contracts/miso_pressing/pressing.js +0 -298
- package/dist/contracts/miso_pressing/pressing.js.map +0 -1
- package/dist/contracts/party_wallet/witness.d.ts.map +0 -1
- package/dist/contracts/party_wallet/witness.js.map +0 -1
- package/dist/contracts/recording_royalty_pool/witness.d.ts.map +0 -1
- package/dist/contracts/recording_royalty_pool/witness.js.map +0 -1
- package/dist/contracts/release_revenue_distributor/witness.d.ts.map +0 -1
- package/dist/contracts/release_revenue_distributor/witness.js.map +0 -1
- package/src/contracts/composition_routed_stake/witness.ts +0 -11
- package/src/contracts/miso_pressing/certificate.ts +0 -164
- package/src/contracts/miso_pressing/listing.ts +0 -592
- package/src/contracts/miso_pressing/pressing.ts +0 -399
- /package/dist/contracts/{miso_pressing → miso_record}/deps/std/type_name.js +0 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The complete client SDK for the **Miso platform layer** on Sui: composed catalog,
|
|
4
4
|
artist, wallet, and receipt reads; the record production line and sale of copies;
|
|
5
|
-
and
|
|
5
|
+
and fail-closed Vault custody, raw Actions, and safe crank plugins built on `@misonetwork/sdk`'s
|
|
6
6
|
protocol and data-extension primitives.
|
|
7
7
|
|
|
8
8
|
## The split
|
|
@@ -10,18 +10,20 @@ protocol and data-extension primitives.
|
|
|
10
10
|
Miso ships two SDK families, and the npm scope tells you which promise you are
|
|
11
11
|
holding:
|
|
12
12
|
|
|
13
|
-
| Scope
|
|
14
|
-
|
|
|
13
|
+
| Scope | Layer | Owns |
|
|
14
|
+
| ---------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
|
|
15
15
|
| `@misonetwork/*` | **Protocol** | Composition, Recording, Release, Party identity; metadata/data extensions; utilities; generic royalty-pool and routed-stake primitives |
|
|
16
|
-
| `@misofm/*`
|
|
16
|
+
| `@misofm/*` | **Platform** | Pressing, Listing, Record, and an explicitly deployed Vault/Action/plugin compatibility set |
|
|
17
17
|
|
|
18
18
|
A release is protocol. Pressing a record off that release and selling it is
|
|
19
|
-
platform. So is deciding
|
|
19
|
+
platform. So is deciding _what to do_ with a freshly-minted work's share
|
|
20
20
|
supply — the protocol only knows how to mint one. Keeping the boundary at the
|
|
21
21
|
package line is what stops the open protocol from quietly growing a
|
|
22
22
|
storefront (or an opinion about tokenomics).
|
|
23
23
|
|
|
24
|
-
Extensions add data to a work.
|
|
24
|
+
Extensions add data to a work. Raw Actions accept an admin cap and remain
|
|
25
|
+
composable with either direct authority or a scoped Vault borrow. Three safe,
|
|
26
|
+
permissionless crank plugins borrow through their own witness: a shared
|
|
25
27
|
`Vault<AdminCap>` custodies the raw cap, while its owner holds a
|
|
26
28
|
`VaultAdminCap<AdminCap>`. A plugin borrows the cap and must return the exact
|
|
27
29
|
object in the same PTB. The SDK supports both vault authorities and legacy
|
|
@@ -40,30 +42,48 @@ Install both SDKs at the application boundary; the platform package intentionall
|
|
|
40
42
|
does not carry its own protocol SDK copy:
|
|
41
43
|
|
|
42
44
|
```sh
|
|
43
|
-
bun add @misofm/sdk@^0.
|
|
45
|
+
bun add @misofm/sdk@^0.17.0 @misonetwork/sdk@^0.11.0
|
|
44
46
|
```
|
|
45
47
|
|
|
46
48
|
Both SDKs are consumed from npm. The platform package keeps
|
|
47
49
|
`@misonetwork/sdk` as a peer so applications resolve exactly one protocol SDK
|
|
48
|
-
and one compatible deployment map.
|
|
50
|
+
and one compatible deployment map. Registration takes a recursively frozen
|
|
51
|
+
snapshot of custom deployment/config records without freezing the caller's
|
|
52
|
+
original objects, so later caller mutation cannot retarget an existing client.
|
|
53
|
+
|
|
54
|
+
### Canonical Record-gated sessions
|
|
55
|
+
|
|
56
|
+
`@misofm/sdk/mix` defines the complete protected-playback wire contract. A
|
|
57
|
+
Record resolves its immutable Release track to a Recording, then derives that
|
|
58
|
+
Recording's `recording_engine_session::ExtensionKey` dynamic field directly.
|
|
59
|
+
The field names one plaintext Walrus `miso.engine-session/1` document containing
|
|
60
|
+
the encrypted stem blob IDs and one Seal-wrapped 32-byte session key. No event
|
|
61
|
+
scan, indexer-maintained relationship, or second encrypted manifest is needed.
|
|
62
|
+
|
|
63
|
+
The same entry point exposes exact identity encoding, strict canonical-session
|
|
64
|
+
parsing, Seal-envelope inspection, and explicit attach/replace/unset PTB
|
|
65
|
+
builders. The bundled Testnet deployment pins the Record, policy, gate, and
|
|
66
|
+
engine-session identities together at `recordSales.recordPackageId`,
|
|
67
|
+
`packages.recordSealPolicy`, `objects.recordGate`, and
|
|
68
|
+
`packages.recordingEngineSession`.
|
|
49
69
|
|
|
50
70
|
## The model
|
|
51
71
|
|
|
52
|
-
A release
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
nothing else.
|
|
72
|
+
A release may have one `Pressing` per positive `u16` edition. Each Pressing owns its
|
|
73
|
+
independent `u32` Record-number sequence, current supply, optional immutable `u32`
|
|
74
|
+
maximum supply, and authorized distributor witness types.
|
|
56
75
|
|
|
57
76
|
Selling in a currency is a `Listing<Currency>`, one per currency, permanent, edited in
|
|
58
|
-
place rather than replaced.
|
|
59
|
-
|
|
77
|
+
place rather than replaced. The Listing's enabled/disabled state is the sale switch;
|
|
78
|
+
the Pressing has no schedule state.
|
|
60
79
|
|
|
61
80
|
**Everything is address math.** The pressing's UID derives off its release's, each
|
|
62
81
|
listing's off the pressing's. The protocol's canonical `ReleaseRegistry` creates the
|
|
63
|
-
release; there is no
|
|
64
|
-
"where is it" is answered offline
|
|
65
|
-
|
|
66
|
-
|
|
82
|
+
release; there is no _pressing_ registry or mutable lookup pointer to follow, so
|
|
83
|
+
"where is it" is answered offline. A Pressing derives from `(release, edition)`, a
|
|
84
|
+
Record from `(pressing, number)`, and a `Listing<Currency>` from its Pressing under
|
|
85
|
+
the separate immutable Record Shop package. There are no Record Registry or Settings
|
|
86
|
+
singletons.
|
|
67
87
|
|
|
68
88
|
## Usage
|
|
69
89
|
|
|
@@ -79,6 +99,10 @@ const client = new SuiGrpcClient({ network: "testnet", baseUrl }).$extend(
|
|
|
79
99
|
miso({ deployment: verifiedDeployment }),
|
|
80
100
|
);
|
|
81
101
|
|
|
102
|
+
// One memoized Core API read proves this endpoint is the deployment's exact
|
|
103
|
+
// ledger before any synchronous client-bound builder can be used.
|
|
104
|
+
await client.miso.ready();
|
|
105
|
+
|
|
82
106
|
// The permissionless protocol SDK is part of the same facade.
|
|
83
107
|
const release = await client.miso.protocol.getReleaseById(releaseId);
|
|
84
108
|
const party = await client.miso.party.getPartyById(partyId);
|
|
@@ -86,29 +110,36 @@ const party = await client.miso.party.getPartyById(partyId);
|
|
|
86
110
|
// Read: run + one currency's offer, one round trip, no registry lookup.
|
|
87
111
|
const { pressing, listing } = await client.miso.getSale({
|
|
88
112
|
releaseId,
|
|
113
|
+
edition,
|
|
89
114
|
currencyType: USD_COIN_TYPE,
|
|
90
115
|
});
|
|
91
116
|
|
|
92
117
|
// Write: a thunk, so it composes with protocol calls in the same PTB.
|
|
93
118
|
const tx = new Transaction();
|
|
94
119
|
tx.add(
|
|
95
|
-
client.miso.tx.
|
|
120
|
+
client.miso.tx.purchaseRecord({
|
|
96
121
|
releaseId,
|
|
122
|
+
edition,
|
|
97
123
|
currencyType: USD_COIN_TYPE,
|
|
98
|
-
|
|
124
|
+
paymentAmount: listing.pricing.amount,
|
|
125
|
+
expectedPricing: listing.pricing,
|
|
99
126
|
recipient: buyer,
|
|
100
127
|
}),
|
|
101
128
|
);
|
|
102
129
|
```
|
|
103
130
|
|
|
104
|
-
|
|
105
|
-
|
|
131
|
+
The bundled Testnet deployment includes both verified immutable package IDs.
|
|
132
|
+
Custom deployments can still mark sales unavailable explicitly; sales builders
|
|
133
|
+
and readers fail closed whenever either package is unavailable.
|
|
134
|
+
|
|
135
|
+
Holding the ids yourself? The bare APIs take `recordPackageId` and/or
|
|
136
|
+
`recordShopPackageId` explicitly:
|
|
106
137
|
|
|
107
138
|
```ts
|
|
108
|
-
import {
|
|
139
|
+
import { purchaseRecord, getSale } from "@misofm/sdk/pressing";
|
|
109
140
|
```
|
|
110
141
|
|
|
111
|
-
|
|
142
|
+
Verified package and singleton IDs are bundled in
|
|
112
143
|
`MISO_PLATFORM_DEPLOYMENTS.testnet`. Calling `miso()` selects that verified map
|
|
113
144
|
from the Sui client's network. Unbundled and custom networks still fail closed
|
|
114
145
|
unless the caller passes one complete deployment through `miso({ deployment })`.
|
|
@@ -177,7 +208,7 @@ address, and the exact authorized route on every protected request.
|
|
|
177
208
|
|
|
178
209
|
### Payment
|
|
179
210
|
|
|
180
|
-
`listing::
|
|
211
|
+
`listing::purchase` takes a bare `Balance<Currency>`, and `purchaseRecord` sources it with
|
|
181
212
|
`tx.balance()` — which draws from the buyer's **address balance** first and falls back
|
|
182
213
|
to coin objects only if it must. When the address balance covers the price, that is a
|
|
183
214
|
single `balance::redeem_funds` and **no coin object is minted, touched, or destroyed**,
|
|
@@ -187,17 +218,25 @@ Never hand-pick coin objects for a payment. That road shows a buyer their $1,000
|
|
|
187
218
|
then refuses to spend a cent of it, because a coin listing cannot see money that lives
|
|
188
219
|
in the address balance.
|
|
189
220
|
|
|
190
|
-
Purchases
|
|
191
|
-
|
|
192
|
-
|
|
221
|
+
Purchases always set `useGasCoin: false`: the gas coin may belong to a sponsor. Buyers
|
|
222
|
+
also pass the exact expected `Fixed` or `Floor` pricing variant and value, protecting
|
|
223
|
+
them from stale pricing-mode changes as well as amount changes.
|
|
193
224
|
|
|
194
|
-
### Vault fund
|
|
225
|
+
### Vault fund settlement
|
|
195
226
|
|
|
196
|
-
`
|
|
197
|
-
`AccumulatorRoot`
|
|
198
|
-
|
|
227
|
+
`settleAndDistributeReleaseRevenue` invokes the fixed release plugin with the
|
|
228
|
+
framework `AccumulatorRoot` (`0xacc`); the plugin redeems the whole settled
|
|
229
|
+
snapshot and exposes no amount argument. `settleCompositionRoyaltyPool` and
|
|
230
|
+
`settleRecordingRoyaltyPool` read `balance::settled_funds_value` and pass that
|
|
231
|
+
command result directly to their exact-value plugin calls. The lower-level raw
|
|
232
|
+
Action `redeemAndDistributeReleaseRevenue` and the plugin helpers
|
|
233
|
+
`redeemAndDepositCompositionRoyaltyPool`, and
|
|
234
|
+
`redeemAndDepositRecordingRoyaltyPool` remain available when an earlier PTB
|
|
235
|
+
command already produced the exact value.
|
|
236
|
+
|
|
237
|
+
Party-wallet monetary builders are similarly composable:
|
|
199
238
|
`receivePartyWalletBalance`, `redeemPartyWalletBalance`, and
|
|
200
|
-
`
|
|
239
|
+
`settlePartyWalletBalance` return the PTB `Balance<Currency>` result. Pass that
|
|
201
240
|
result directly to another Move call, or convert it with `coin::from_balance`
|
|
202
241
|
only when an owned Coin is required. Every returned Balance must be consumed in
|
|
203
242
|
the same PTB.
|
|
@@ -234,10 +273,13 @@ const thunk = client.miso.tx.publishComposition({
|
|
|
234
273
|
`client.miso.tx.publishRecording` and `publishCompositionAndRecording`
|
|
235
274
|
follow the same shape (the latter atomically, borrow-before-share, in one PTB —
|
|
236
275
|
see `@misonetwork/sdk`'s README for why the ordering is load-bearing).
|
|
237
|
-
The protocol,
|
|
238
|
-
|
|
276
|
+
The protocol, immutable Record and Record Shop packages, minato, and core
|
|
277
|
+
`ReleaseRegistry` address all come from the deployment selected by the Sui
|
|
278
|
+
client's network. Record sales have no Record Registry or Settings singleton.
|
|
239
279
|
The deprecated `misoPlatform()` constructor still accepts those values manually
|
|
240
|
-
for compatibility with existing integrations.
|
|
280
|
+
for compatibility with existing integrations. It must also receive the exact
|
|
281
|
+
`network` and `chainIdentifier`; call `await client.misoPlatform.ready()` before
|
|
282
|
+
accessing its client-bound protocol or platform surfaces.
|
|
241
283
|
|
|
242
284
|
For custom PTBs, the bare primitives (`disperseShares`, `finalizeComposition`,
|
|
243
285
|
`finalizeRecording`) and the whole-graph orchestrator are exported standalone:
|
|
@@ -248,8 +290,28 @@ import { publishReleaseGraph } from "@misofm/sdk";
|
|
|
248
290
|
// Every composition and recording, optional royalty pools, tracks, and
|
|
249
291
|
// the release — with the release id derived ON-CHAIN — in one atomic PTB.
|
|
250
292
|
const thunk = publishReleaseGraph({
|
|
251
|
-
compositions: [
|
|
252
|
-
|
|
293
|
+
compositions: [
|
|
294
|
+
{
|
|
295
|
+
shareType,
|
|
296
|
+
shareCurrencyId,
|
|
297
|
+
shareTreasuryCapId,
|
|
298
|
+
title: "Song",
|
|
299
|
+
royaltyRateBps: 1000,
|
|
300
|
+
shareRecipients,
|
|
301
|
+
adminAddress,
|
|
302
|
+
},
|
|
303
|
+
],
|
|
304
|
+
recordings: [
|
|
305
|
+
{
|
|
306
|
+
shareType,
|
|
307
|
+
shareCurrencyId,
|
|
308
|
+
shareTreasuryCapId,
|
|
309
|
+
compositionShareType,
|
|
310
|
+
parentCompositionIndex: 0,
|
|
311
|
+
shareRecipients,
|
|
312
|
+
adminAddress,
|
|
313
|
+
},
|
|
314
|
+
],
|
|
253
315
|
release: {
|
|
254
316
|
title: "Album",
|
|
255
317
|
nonce: "42",
|
|
@@ -266,9 +328,11 @@ const thunk = publishReleaseGraph({
|
|
|
266
328
|
|
|
267
329
|
`publishAtomicCatalog` owns the semantic publication transaction. Given
|
|
268
330
|
pre-initialized share currencies, it creates every new Party, Composition,
|
|
269
|
-
Recording, Track, and Release; applies all declared data extensions;
|
|
270
|
-
|
|
271
|
-
|
|
331
|
+
Recording, Track, and Release; applies all declared data extensions; composes
|
|
332
|
+
raw-cap Actions through direct custody or a scoped Vault borrow; installs only
|
|
333
|
+
the permissionless royalty/revenue crank plugins; opens the Pressing and
|
|
334
|
+
Listings; shares the new objects; and delivers only the selected direct admin
|
|
335
|
+
cap or VaultAdminCap. The
|
|
272
336
|
entire catalog stage is one PTB, so none of it can land partially.
|
|
273
337
|
|
|
274
338
|
Share allocation is explicit at the SDK boundary. Omitting
|
|
@@ -301,7 +365,7 @@ const publication = {
|
|
|
301
365
|
// PTB exceeds the SDK's command/input safety limits or has an invalid graph.
|
|
302
366
|
assertAtomicPublicationBounds(publication);
|
|
303
367
|
|
|
304
|
-
const executed = await executeViaExecutor(
|
|
368
|
+
const executed = await client.miso.executeViaExecutor(
|
|
305
369
|
executor,
|
|
306
370
|
publishAtomicCatalog(publication),
|
|
307
371
|
);
|
|
@@ -310,9 +374,11 @@ const result = parseAtomicPublicationResult(publication, executed);
|
|
|
310
374
|
|
|
311
375
|
Fresh raw PartyAdminCap, CompositionAdminCap, RecordingAdminCap, and
|
|
312
376
|
ReleaseAdminCap values never leave the PTB when Vault custody is selected.
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
377
|
+
Only the Composition royalty-pool, Recording royalty-pool, and Release revenue
|
|
378
|
+
plugins are installable, while each new Vault is still owned. Party-wallet and
|
|
379
|
+
Composition routed-stake operations remain raw Actions because they return
|
|
380
|
+
caller-controlled assets. Plugin witness construction remains inside the SDK
|
|
381
|
+
bindings.
|
|
316
382
|
|
|
317
383
|
Share packages necessarily precede this stage: publish at most five per PTB,
|
|
318
384
|
then initialize their currencies, then submit the atomic catalog PTB. The two
|
|
@@ -336,10 +402,20 @@ const currency = await client.miso.createShareCurrency(signer, {
|
|
|
336
402
|
|
|
337
403
|
// Batched (many currencies, via a ParallelTransactionExecutor):
|
|
338
404
|
import { publishShareCurrencies, initializeShareCurrencies } from "@misofm/sdk";
|
|
339
|
-
const { packageIds } = await publishShareCurrencies(
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
405
|
+
const { packageIds } = await publishShareCurrencies(
|
|
406
|
+
executor,
|
|
407
|
+
initializerAddress,
|
|
408
|
+
10,
|
|
409
|
+
);
|
|
410
|
+
const { currencies } = await initializeShareCurrencies(
|
|
411
|
+
executor,
|
|
412
|
+
signerAddress,
|
|
413
|
+
packageIds,
|
|
414
|
+
(pkg) => ({
|
|
415
|
+
name: "…",
|
|
416
|
+
description: "…",
|
|
417
|
+
}),
|
|
418
|
+
);
|
|
343
419
|
```
|
|
344
420
|
|
|
345
421
|
`executeViaExecutor(executor, ...thunks)` (`execute.ts`) submits a
|
|
@@ -369,9 +445,14 @@ duplicate roles.
|
|
|
369
445
|
|
|
370
446
|
```ts
|
|
371
447
|
import {
|
|
372
|
-
attachCompositionCredit,
|
|
373
|
-
|
|
374
|
-
|
|
448
|
+
attachCompositionCredit,
|
|
449
|
+
attachRecordingCredit,
|
|
450
|
+
addReleaseCredit,
|
|
451
|
+
addRecordingPrimaryArtist,
|
|
452
|
+
addRecordingFeaturedArtist,
|
|
453
|
+
getCompositionCredits,
|
|
454
|
+
getRecordingCredits,
|
|
455
|
+
getReleaseCredits,
|
|
375
456
|
} from "@misofm/sdk";
|
|
376
457
|
|
|
377
458
|
const thunk = attachRecordingCredit({
|
|
@@ -379,7 +460,10 @@ const thunk = attachRecordingCredit({
|
|
|
379
460
|
recordingAdminCapId: "0x...",
|
|
380
461
|
partyId: "0x...",
|
|
381
462
|
displayName: "Jane Doe",
|
|
382
|
-
roles: [
|
|
463
|
+
roles: [
|
|
464
|
+
{ type: "Vocalist", level: "Lead" },
|
|
465
|
+
{ type: "Instrumentalist", instrument: "Guitar" },
|
|
466
|
+
],
|
|
383
467
|
recordingShareType: "0x...::share::Share",
|
|
384
468
|
compositionShareType: "0x...::share::Share",
|
|
385
469
|
recordingCreditsPackageId: "0x...",
|
|
@@ -387,12 +471,27 @@ const thunk = attachRecordingCredit({
|
|
|
387
471
|
});
|
|
388
472
|
|
|
389
473
|
// Designate an already-credited party (same params minus displayName/roles/misoCreditPackageId):
|
|
390
|
-
addRecordingPrimaryArtist({
|
|
474
|
+
addRecordingPrimaryArtist({
|
|
475
|
+
recordingId,
|
|
476
|
+
recordingAdminCapId,
|
|
477
|
+
partyId,
|
|
478
|
+
recordingShareType,
|
|
479
|
+
compositionShareType,
|
|
480
|
+
recordingCreditsPackageId,
|
|
481
|
+
});
|
|
391
482
|
|
|
392
483
|
// Reads return null when no credits field is attached.
|
|
393
|
-
const credits = await getCompositionCredits(
|
|
484
|
+
const credits = await getCompositionCredits(
|
|
485
|
+
client,
|
|
486
|
+
compositionId,
|
|
487
|
+
compositionCreditsPackageId,
|
|
488
|
+
);
|
|
394
489
|
// CreditView[]: { partyId, displayName, roles: string[] } — e.g. "Producer (Lead)", "Instrumentalist: Guitar"
|
|
395
|
-
const rc = await getRecordingCredits(
|
|
490
|
+
const rc = await getRecordingCredits(
|
|
491
|
+
client,
|
|
492
|
+
recordingId,
|
|
493
|
+
recordingCreditsPackageId,
|
|
494
|
+
);
|
|
396
495
|
// { credits: CreditView[], primaryArtistIds: string[], featuredArtistIds: string[] }
|
|
397
496
|
```
|
|
398
497
|
|
|
@@ -416,19 +515,23 @@ import { setReleaseCover, getReleaseCover } from "@misofm/sdk";
|
|
|
416
515
|
const thunk = setReleaseCover({
|
|
417
516
|
releaseId: "0x...",
|
|
418
517
|
releaseAdminCapId: "0x...",
|
|
419
|
-
stillBlobId: "987654321",
|
|
420
|
-
animatedBlobId: null,
|
|
518
|
+
stillBlobId: "987654321", // Walrus blob id as u256 (decimal string or bigint)
|
|
519
|
+
animatedBlobId: null, // optional animated cover
|
|
421
520
|
coverArtPackageId: "0x...",
|
|
422
521
|
releaseCoverArtPackageId: "0x...",
|
|
423
522
|
oriPackageId: "0x...",
|
|
424
523
|
});
|
|
425
524
|
|
|
426
|
-
const cover = await getReleaseCover(
|
|
525
|
+
const cover = await getReleaseCover(
|
|
526
|
+
client,
|
|
527
|
+
releaseId,
|
|
528
|
+
releaseCoverArtPackageId,
|
|
529
|
+
);
|
|
427
530
|
// ReleaseCoverView | null: { still, animated } as normalized Walrus refs
|
|
428
531
|
// ({ kind: "blob", blobId } | { kind: "quiltPatch", quiltId, version, startIndex, endIndex })
|
|
429
532
|
```
|
|
430
533
|
|
|
431
|
-
### Vault
|
|
534
|
+
### Vault operations (`vault.ts`)
|
|
432
535
|
|
|
433
536
|
`vault.ts` contains composable PTB builders for custody and plugin flows:
|
|
434
537
|
`invokeWithAdminCap` safely sequences `borrow_as_admin → Move call → put_back`, and
|
|
@@ -441,18 +544,50 @@ installers construct their witnesses inside their Move package; callers supply n
|
|
|
441
544
|
witness.
|
|
442
545
|
|
|
443
546
|
It also builds Composition/Recording royalty-pool initialization and cranks,
|
|
444
|
-
Release
|
|
445
|
-
Composition routed-stake lifecycle. Receive flows
|
|
446
|
-
|
|
547
|
+
fixed Release settlement plus raw-admin amount composition, Party wallet
|
|
548
|
+
Actions, and the full Composition routed-stake Action lifecycle. Receive flows
|
|
549
|
+
take exact object references and construct the required
|
|
550
|
+
`vector<Receiving<Coin<Currency>>>` in the PTB.
|
|
551
|
+
|
|
552
|
+
The bundled Testnet deployment sets `operations.status` to `"available"` with
|
|
553
|
+
one canonical Vault package and registry, five distinct raw Action packages,
|
|
554
|
+
and three distinct suffixed plugin packages. Zero-config Testnet clients expose
|
|
555
|
+
that complete verified surface after `await client.miso.ready()`. Custom
|
|
556
|
+
deployments remain fail-closed unless they provide the same atomic identity set.
|
|
557
|
+
Structural validation checks canonical, pairwise-distinct IDs; callers remain
|
|
558
|
+
responsible for the provenance and compatibility of arbitrary custom IDs. The
|
|
559
|
+
bundled map is recursively frozen from one verified immutable admin export.
|
|
560
|
+
|
|
561
|
+
### Migrating from 0.16
|
|
562
|
+
|
|
563
|
+
Version 0.17 is a breaking deployment-safety release. Replace flat Vault,
|
|
564
|
+
Action, and plugin package fields with the discriminated `operations` union.
|
|
565
|
+
After client
|
|
566
|
+
registration, call `await client.miso.ready()` before using synchronous
|
|
567
|
+
`client.miso.tx`, `ids`, `call`, `vault`, or `party` surfaces. Platform reads
|
|
568
|
+
and SDK execution helpers await the same memoized readiness check themselves.
|
|
569
|
+
Standalone builders remain pure for offline composition, so their caller is
|
|
570
|
+
responsible for completing this exact-chain validation lifecycle before
|
|
571
|
+
execution.
|
|
572
|
+
|
|
573
|
+
The Release revenue plugin crank is now fixed: call
|
|
574
|
+
`redeemAllAndDistribute(vault, release, accumulatorRoot)` with no amount. The
|
|
575
|
+
explicit-amount `redeemAndDistribute` Action remains available only for raw
|
|
576
|
+
admin-cap composition.
|
|
447
577
|
|
|
448
578
|
### Extension types
|
|
449
579
|
|
|
450
580
|
```ts
|
|
451
581
|
import type {
|
|
452
|
-
CreditView,
|
|
453
|
-
|
|
582
|
+
CreditView,
|
|
583
|
+
RecordingCreditsView,
|
|
584
|
+
CompositionRole,
|
|
585
|
+
RecordingRole,
|
|
586
|
+
RecordingRoleLevel,
|
|
587
|
+
RecordingLeveledRoleType,
|
|
454
588
|
ReleaseRole,
|
|
455
|
-
ReleaseCoverView,
|
|
589
|
+
ReleaseCoverView,
|
|
590
|
+
CoverImageRef,
|
|
456
591
|
} from "@misofm/sdk";
|
|
457
592
|
```
|
|
458
593
|
|
|
@@ -493,7 +628,7 @@ the on-chain ABI:
|
|
|
493
628
|
bun run codegen # reads sui-codegen.config.ts → src/contracts/
|
|
494
629
|
```
|
|
495
630
|
|
|
496
|
-
`sui-codegen.config.ts` lists
|
|
631
|
+
`sui-codegen.config.ts` lists `miso_record`, `miso_record_shop`, data
|
|
497
632
|
extensions, generic `royalty_pool`/`routed_stake`, and the `vault` plus all
|
|
498
633
|
vault-plugin packages. The protocol CORE (`miso` —
|
|
499
634
|
composition/recording/release/track) generates into
|
|
@@ -502,9 +637,9 @@ adding the core here to save an import is how the split this package exists to
|
|
|
502
637
|
enforce gets undone.
|
|
503
638
|
|
|
504
639
|
Paths resolve against sibling checkouts, so regenerating requires
|
|
505
|
-
`~/Documents/GitHub/misofm/{sdk,
|
|
506
|
-
`~/Documents/GitHub/misonetwork/{protocol, protocol-
|
|
507
|
-
royalty-pool, routed-stake, share}`.
|
|
640
|
+
`~/Documents/GitHub/misofm/{sdk, record, record-shop, vault, vault-plugins}` and
|
|
641
|
+
`~/Documents/GitHub/misonetwork/{party-actions, protocol, protocol-actions,
|
|
642
|
+
protocol-extensions, royalty-pool, routed-stake, share, cover-art, genre}`.
|
|
508
643
|
|
|
509
644
|
For an isolated checkout, copy those source trees and set
|
|
510
645
|
`MISO_SDK_CODEGEN_SOURCE_ROOT` to their common parent. The codegen config reads
|
|
@@ -512,17 +647,19 @@ only from that copy, avoiding writes to a developer's live source tree.
|
|
|
512
647
|
|
|
513
648
|
## Dependency on `@misonetwork/sdk`
|
|
514
649
|
|
|
515
|
-
`@misonetwork/sdk` is a required peer (`^0.
|
|
650
|
+
`@misonetwork/sdk` is a required peer (`^0.11.0`), not a runtime dependency.
|
|
516
651
|
This package imports its primitives, deployment configuration, protocol client,
|
|
517
652
|
and Party client directly, then exposes them at `client.miso.protocol` and
|
|
518
|
-
`client.miso.party
|
|
653
|
+
`client.miso.party` only after `await client.miso.ready()` validates the exact
|
|
654
|
+
ledger. Direct protocol reads, generated calls, package bindings, and nested
|
|
655
|
+
Party APIs cannot be obtained before that gate. The consuming
|
|
519
656
|
application installs one protocol SDK, preventing a platform tarball from
|
|
520
657
|
silently nesting an older protocol ABI alongside the application's copy.
|
|
521
658
|
`@mysten/sui` itself stays a peer dependency here, same as in
|
|
522
659
|
`@misonetwork/sdk`.
|
|
523
660
|
|
|
524
661
|
The published tarball intentionally contains no protocol SDK copy: consumers
|
|
525
|
-
satisfy the peer with their verified `@misonetwork/sdk@^0.
|
|
662
|
+
satisfy the peer with their verified `@misonetwork/sdk@^0.11.0` installation.
|
|
526
663
|
|
|
527
664
|
```bash
|
|
528
665
|
bun install
|