@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/src/client.ts
CHANGED
|
@@ -7,9 +7,10 @@
|
|
|
7
7
|
//
|
|
8
8
|
// const client = new SuiGrpcClient({ network, baseUrl }).$extend(miso());
|
|
9
9
|
//
|
|
10
|
-
// await client.miso.getSale({ releaseId, currencyType });
|
|
10
|
+
// await client.miso.getSale({ releaseId, edition, currencyType });
|
|
11
11
|
// await client.miso.protocol.getReleaseById(releaseId);
|
|
12
|
-
// tx.add(client.miso.tx.
|
|
12
|
+
// tx.add(client.miso.tx.purchaseRecord({ releaseId, edition, currencyType,
|
|
13
|
+
// paymentAmount, expectedPricing, recipient }));
|
|
13
14
|
//
|
|
14
15
|
// Two things this buys over calling the bare functions:
|
|
15
16
|
//
|
|
@@ -30,16 +31,19 @@ import type {
|
|
|
30
31
|
ClientWithCoreApi,
|
|
31
32
|
SuiClientRegistration,
|
|
32
33
|
} from "@mysten/sui/client";
|
|
34
|
+
import type {} from "@mysten/bcs";
|
|
33
35
|
import type { Signer } from "@mysten/sui/cryptography";
|
|
34
36
|
import type { SuiGraphQLClient } from "@mysten/sui/graphql";
|
|
37
|
+
import type { ParallelTransactionExecutor } from "@mysten/sui/transactions";
|
|
35
38
|
import {
|
|
36
39
|
miso as protocolMiso,
|
|
37
40
|
type MisoProtocolClient,
|
|
38
41
|
} from "@misonetwork/sdk/client";
|
|
39
42
|
import type { PartyProtocolClient } from "@misonetwork/sdk/party";
|
|
40
43
|
|
|
41
|
-
import * as
|
|
42
|
-
import * as pressingContract from "./contracts/
|
|
44
|
+
import * as recordContract from "./contracts/miso_record/record.ts";
|
|
45
|
+
import * as pressingContract from "./contracts/miso_record/pressing.ts";
|
|
46
|
+
import * as listingContract from "./contracts/miso_record_shop/listing.ts";
|
|
43
47
|
import * as genreContract from "./contracts/genre/genre.ts";
|
|
44
48
|
import * as releaseDescriptionContract from "./contracts/release_description/release_description.ts";
|
|
45
49
|
import * as releaseDspLinkContract from "./contracts/release_dsp_link/release_dsp_link.ts";
|
|
@@ -51,6 +55,9 @@ import * as compositionRoyaltyPoolContract from "./contracts/composition_royalty
|
|
|
51
55
|
import * as recordingRoyaltyPoolContract from "./contracts/recording_royalty_pool/recording_royalty_pool.ts";
|
|
52
56
|
import * as partyWalletContract from "./contracts/party_wallet/party_wallet.ts";
|
|
53
57
|
import * as compositionRoutedStakeContract from "./contracts/composition_routed_stake/composition_routed_stake.ts";
|
|
58
|
+
import * as compositionRoyaltyPoolPluginContract from "./contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.ts";
|
|
59
|
+
import * as recordingRoyaltyPoolPluginContract from "./contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.ts";
|
|
60
|
+
import * as releaseRevenueDistributorPluginContract from "./contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.ts";
|
|
54
61
|
import * as routedStakeContract from "./contracts/routed_stake/routed_stake.ts";
|
|
55
62
|
import * as royaltyPoolContract from "./contracts/royalty_pool/pool.ts";
|
|
56
63
|
import * as recordingAdvisoryContract from "./contracts/recording_advisory/recording_advisory.ts";
|
|
@@ -62,30 +69,34 @@ import * as coverArtContract from "./contracts/cover_art/cover_art.ts";
|
|
|
62
69
|
import * as releaseCoverArtContract from "./contracts/release_cover_art/release_cover_art.ts";
|
|
63
70
|
import * as releaseCreditsContract from "./contracts/release_credits/release_credits.ts";
|
|
64
71
|
import {
|
|
65
|
-
|
|
72
|
+
authorizeRecordShop,
|
|
66
73
|
deriveListingId,
|
|
67
74
|
derivePressingAdminCapId,
|
|
68
75
|
derivePressingId,
|
|
76
|
+
deriveRecordId,
|
|
69
77
|
deriveSaleIds,
|
|
70
78
|
getListing,
|
|
71
79
|
getPressing,
|
|
80
|
+
getRecord,
|
|
72
81
|
getSale,
|
|
73
82
|
openListing,
|
|
74
83
|
openPressing,
|
|
84
|
+
purchaseRecord,
|
|
85
|
+
revokeRecordShop,
|
|
75
86
|
setListingPrice,
|
|
76
87
|
setListingState,
|
|
77
|
-
setPressingState,
|
|
78
88
|
} from "./pressing.ts";
|
|
79
89
|
import type {
|
|
80
|
-
BuyRecordParams,
|
|
81
90
|
GetSaleParams,
|
|
82
91
|
ListingView,
|
|
83
92
|
OpenListingParams,
|
|
84
93
|
OpenPressingParams,
|
|
94
|
+
PressingAdministrationParams,
|
|
85
95
|
PressingView,
|
|
96
|
+
PurchaseRecordParams,
|
|
97
|
+
RecordView,
|
|
86
98
|
SetListingPriceParams,
|
|
87
99
|
SetListingStateParams,
|
|
88
|
-
SetPressingStateParams,
|
|
89
100
|
} from "./pressing.ts";
|
|
90
101
|
import {
|
|
91
102
|
publishShareCurrency,
|
|
@@ -109,8 +120,13 @@ import {
|
|
|
109
120
|
} from "./release-graph.ts";
|
|
110
121
|
import {
|
|
111
122
|
getMisoPlatformDeployment,
|
|
123
|
+
requireOperationsDeployment,
|
|
124
|
+
requireRecordSalesDeployment,
|
|
112
125
|
type MisoPlatformDeployment,
|
|
126
|
+
type OperationsDeployment,
|
|
127
|
+
type RecordSalesDeployment,
|
|
113
128
|
} from "./deployments.ts";
|
|
129
|
+
import { immutableSnapshot } from "./internal.ts";
|
|
114
130
|
import {
|
|
115
131
|
deriveGenreAddress,
|
|
116
132
|
setReleaseDescription,
|
|
@@ -129,6 +145,10 @@ import {
|
|
|
129
145
|
type SetReleaseCoverParams,
|
|
130
146
|
type SetReleaseTrackCoverParams,
|
|
131
147
|
} from "./cover.ts";
|
|
148
|
+
import {
|
|
149
|
+
executeViaExecutor as executePlatformViaExecutor,
|
|
150
|
+
type PlatformExecResult,
|
|
151
|
+
} from "./execute.ts";
|
|
132
152
|
|
|
133
153
|
type BoundMoveFunction<F> = F extends (options: infer Options) => infer Result
|
|
134
154
|
? Options extends { package?: unknown }
|
|
@@ -161,6 +181,43 @@ function bindModulePackage<M extends object, K extends readonly (keyof M)[]>(
|
|
|
161
181
|
return out as BoundModule<M, K>;
|
|
162
182
|
}
|
|
163
183
|
|
|
184
|
+
/** Keep synchronous, client-bound surfaces unusable until the endpoint's exact
|
|
185
|
+
* ledger has been validated. The underlying standalone builders remain pure. */
|
|
186
|
+
function requireReadyOnFunctions<T extends object>(
|
|
187
|
+
surface: T,
|
|
188
|
+
requireReady: (operation: string) => void,
|
|
189
|
+
namespace: string,
|
|
190
|
+
): T {
|
|
191
|
+
return new Proxy(surface, {
|
|
192
|
+
get(target, property, receiver) {
|
|
193
|
+
const value = Reflect.get(target, property, receiver) as unknown;
|
|
194
|
+
if (typeof value !== "function") return value;
|
|
195
|
+
return (...args: unknown[]) => {
|
|
196
|
+
requireReady(`${namespace}.${String(property)}`);
|
|
197
|
+
return Reflect.apply(value, target, args);
|
|
198
|
+
};
|
|
199
|
+
},
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
function requireReadyOnModuleFunctions<T extends object>(
|
|
204
|
+
surface: T,
|
|
205
|
+
requireReady: (operation: string) => void,
|
|
206
|
+
namespace: string,
|
|
207
|
+
): T {
|
|
208
|
+
return new Proxy(surface, {
|
|
209
|
+
get(target, property, receiver) {
|
|
210
|
+
const value = Reflect.get(target, property, receiver) as unknown;
|
|
211
|
+
if (!value || typeof value !== "object") return value;
|
|
212
|
+
return requireReadyOnFunctions(
|
|
213
|
+
value,
|
|
214
|
+
requireReady,
|
|
215
|
+
`${namespace}.${String(property)}`,
|
|
216
|
+
);
|
|
217
|
+
},
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
|
|
164
221
|
export interface MisoOptions<Name extends string = "miso"> {
|
|
165
222
|
/** Name for the client extension. Defaults to `miso`. */
|
|
166
223
|
name?: Name;
|
|
@@ -170,9 +227,47 @@ export interface MisoOptions<Name extends string = "miso"> {
|
|
|
170
227
|
graphqlClient?: SuiGraphQLClient;
|
|
171
228
|
}
|
|
172
229
|
|
|
230
|
+
export class MisoNetworkMismatchError extends Error {
|
|
231
|
+
override readonly name = "MisoNetworkMismatchError";
|
|
232
|
+
constructor(
|
|
233
|
+
readonly clientNetwork: string,
|
|
234
|
+
readonly deploymentNetwork: string,
|
|
235
|
+
) {
|
|
236
|
+
super(
|
|
237
|
+
`@misofm/sdk: client network "${clientNetwork}" does not match deployment network "${deploymentNetwork}"`,
|
|
238
|
+
);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
export class MisoChainIdentifierMismatchError extends Error {
|
|
243
|
+
override readonly name = "MisoChainIdentifierMismatchError";
|
|
244
|
+
constructor(
|
|
245
|
+
readonly actual: string,
|
|
246
|
+
readonly expected: string,
|
|
247
|
+
) {
|
|
248
|
+
super(
|
|
249
|
+
`@misofm/sdk: endpoint chain identifier "${actual}" does not match deployment chain identifier "${expected}"`,
|
|
250
|
+
);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
export class MisoClientNotReadyError extends Error {
|
|
255
|
+
override readonly name = "MisoClientNotReadyError";
|
|
256
|
+
constructor(readonly operation: string) {
|
|
257
|
+
super(
|
|
258
|
+
`@misofm/sdk: ${operation} requires an exact-chain validation lifecycle; call and await client.miso.ready() first`,
|
|
259
|
+
);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
173
263
|
export interface MisoPlatformConfig {
|
|
174
|
-
/**
|
|
175
|
-
|
|
264
|
+
/** Exact client network label for deprecated `misoPlatform()` registration. */
|
|
265
|
+
network?: string;
|
|
266
|
+
/** Exact ledger identifier required by deprecated `misoPlatform().ready()`. */
|
|
267
|
+
chainIdentifier?: string;
|
|
268
|
+
/** Finalized immutable Record + Record Shop identities, or an explicit
|
|
269
|
+
* unavailable legacy state that makes every sales API fail closed. */
|
|
270
|
+
recordSales?: RecordSalesDeployment;
|
|
176
271
|
/**
|
|
177
272
|
* The `@misonetwork/sdk` protocol package (miso core). Required for the
|
|
178
273
|
* publish builders (`publishComposition`, `publishRecording`,
|
|
@@ -197,19 +292,11 @@ export interface MisoPlatformConfig {
|
|
|
197
292
|
recordingLanguagePackageId?: string;
|
|
198
293
|
recordingMasterReferencePackageId?: string;
|
|
199
294
|
recordingPreviewPackageId?: string;
|
|
200
|
-
/**
|
|
201
|
-
|
|
202
|
-
/** Shared singleton from which canonical Vault IDs are derived. */
|
|
203
|
-
vaultRegistryId?: string;
|
|
295
|
+
/** Structurally complete Vault/Action/plugin identity set. */
|
|
296
|
+
operations?: OperationsDeployment;
|
|
204
297
|
/** Generic royalty-pool value package used by pool and routed-stake helpers. */
|
|
205
298
|
royaltyPoolPackageId?: string;
|
|
206
|
-
/** Vault plugins, deliberately separate from data-extension package ids. */
|
|
207
|
-
vaultCompositionRoyaltyPoolPluginPackageId?: string;
|
|
208
|
-
vaultRecordingRoyaltyPoolPluginPackageId?: string;
|
|
209
|
-
vaultPartyWalletPluginPackageId?: string;
|
|
210
|
-
vaultCompositionRoutedStakePluginPackageId?: string;
|
|
211
299
|
routedStakePackageId?: string;
|
|
212
|
-
vaultReleaseRevenueDistributorPluginPackageId?: string;
|
|
213
300
|
releaseCreditsPackageId?: string;
|
|
214
301
|
misoCreditPackageId?: string;
|
|
215
302
|
coverArtPackageId?: string;
|
|
@@ -222,21 +309,30 @@ export interface MisoPlatformConfig {
|
|
|
222
309
|
}
|
|
223
310
|
|
|
224
311
|
/** Params with the ids this client already knows dropped from the call site. */
|
|
225
|
-
type DistributiveOmit<T, Keys extends PropertyKey> = T extends unknown
|
|
226
|
-
|
|
312
|
+
type DistributiveOmit<T, Keys extends PropertyKey> = T extends unknown
|
|
313
|
+
? Omit<T, Keys>
|
|
314
|
+
: never;
|
|
315
|
+
type Configured<T> = DistributiveOmit<
|
|
316
|
+
T,
|
|
317
|
+
"recordPackageId" | "recordShopPackageId"
|
|
318
|
+
>;
|
|
227
319
|
|
|
228
320
|
/** Publish-builder params with the protocol/minato ids this client already knows dropped. */
|
|
229
|
-
type ConfiguredPublish<T> = DistributiveOmit<
|
|
321
|
+
type ConfiguredPublish<T> = DistributiveOmit<
|
|
322
|
+
T,
|
|
323
|
+
"misoPackageId" | "minatoPackageId"
|
|
324
|
+
>;
|
|
230
325
|
|
|
231
326
|
/** Release-builder params with this client's core, share, and registry ids dropped. */
|
|
232
327
|
type ConfiguredRelease<T> = DistributiveOmit<
|
|
233
328
|
T,
|
|
234
|
-
| "
|
|
235
|
-
| "minatoPackageId"
|
|
236
|
-
| "releaseRegistryId"
|
|
329
|
+
"misoPackageId" | "minatoPackageId" | "releaseRegistryId"
|
|
237
330
|
>;
|
|
238
331
|
|
|
239
|
-
type ConfiguredReleaseKind = DistributiveOmit<
|
|
332
|
+
type ConfiguredReleaseKind = DistributiveOmit<
|
|
333
|
+
SetReleaseKindParams,
|
|
334
|
+
"releaseKindPackageId"
|
|
335
|
+
>;
|
|
240
336
|
type ConfiguredReleaseDescription = DistributiveOmit<
|
|
241
337
|
SetReleaseDescriptionParams,
|
|
242
338
|
"releaseDescriptionPackageId"
|
|
@@ -263,15 +359,21 @@ type ConfiguredReleaseTrackCover = DistributiveOmit<
|
|
|
263
359
|
>;
|
|
264
360
|
|
|
265
361
|
/** Whole-graph params with this client's package ids dropped. */
|
|
266
|
-
export type ConfiguredReleaseGraphParams = Omit<
|
|
362
|
+
export type ConfiguredReleaseGraphParams = Omit<
|
|
363
|
+
PublishReleaseGraphParams,
|
|
364
|
+
"misoPackageId" | "minatoPackageId"
|
|
365
|
+
>;
|
|
267
366
|
|
|
268
367
|
export class MisoPlatformClient {
|
|
269
368
|
readonly #client: ClientWithCoreApi;
|
|
270
369
|
readonly #config: MisoPlatformConfig;
|
|
271
|
-
|
|
272
|
-
readonly
|
|
370
|
+
readonly #protocol?: MisoProtocolClient;
|
|
371
|
+
readonly #chainIdentifier?: string;
|
|
273
372
|
/** Bundled/custom deployment selected for the full facade, when available. */
|
|
274
373
|
readonly deployment?: MisoPlatformDeployment;
|
|
374
|
+
#readyState: "unvalidated" | "validating" | "ready" | "failed" =
|
|
375
|
+
"unvalidated";
|
|
376
|
+
#readyPromise?: Promise<void>;
|
|
275
377
|
|
|
276
378
|
constructor(
|
|
277
379
|
client: ClientWithCoreApi,
|
|
@@ -279,29 +381,141 @@ export class MisoPlatformClient {
|
|
|
279
381
|
protocol?: MisoProtocolClient,
|
|
280
382
|
deployment?: MisoPlatformDeployment,
|
|
281
383
|
) {
|
|
384
|
+
const configSnapshot = immutableSnapshot(config);
|
|
385
|
+
const deploymentSnapshot = deployment
|
|
386
|
+
? immutableSnapshot(deployment)
|
|
387
|
+
: undefined;
|
|
282
388
|
this.#client = client;
|
|
283
|
-
this.#config =
|
|
389
|
+
this.#config = configSnapshot;
|
|
390
|
+
if (configSnapshot.operations?.status === "available") {
|
|
391
|
+
requireOperationsDeployment(configSnapshot.operations);
|
|
392
|
+
}
|
|
284
393
|
// A pressing-only facade must not implicitly register a fail-closed core
|
|
285
394
|
// extension. Supply a core deployment/misoPackageId when `protocol` is
|
|
286
395
|
// needed; otherwise this remains a safe, independent pressing client.
|
|
287
|
-
this
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
396
|
+
this.#protocol =
|
|
397
|
+
protocol ??
|
|
398
|
+
(configSnapshot.misoPackageId
|
|
399
|
+
? protocolMiso({
|
|
400
|
+
deployment: { packageId: configSnapshot.misoPackageId },
|
|
401
|
+
}).register(client)
|
|
402
|
+
: undefined);
|
|
403
|
+
this.deployment = deploymentSnapshot;
|
|
404
|
+
this.#chainIdentifier =
|
|
405
|
+
deploymentSnapshot?.chainIdentifier ?? configSnapshot.chainIdentifier;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
/** Permissionless protocol APIs bound to the same validated ledger. */
|
|
409
|
+
get protocol(): MisoProtocolClient | undefined {
|
|
410
|
+
if (!this.#protocol) return undefined;
|
|
411
|
+
this.#requireReady("protocol APIs");
|
|
412
|
+
return this.#protocol;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* Memoized exact-ledger readiness gate. Registration already rejects a
|
|
417
|
+
* synchronous network-label mismatch; this Core API read protects every
|
|
418
|
+
* client-bound write surface from a mislabeled or custom endpoint.
|
|
419
|
+
*/
|
|
420
|
+
ready(): Promise<void> {
|
|
421
|
+
if (!this.#readyPromise) {
|
|
422
|
+
this.#readyState = "validating";
|
|
423
|
+
this.#readyPromise = (async () => {
|
|
424
|
+
try {
|
|
425
|
+
if (!this.#chainIdentifier) {
|
|
426
|
+
throw new Error(
|
|
427
|
+
"misoPlatform: chain readiness requires a complete deployment or an explicit `chainIdentifier`.",
|
|
428
|
+
);
|
|
429
|
+
}
|
|
430
|
+
const { chainIdentifier } =
|
|
431
|
+
await this.#client.core.getChainIdentifier();
|
|
432
|
+
if (chainIdentifier !== this.#chainIdentifier) {
|
|
433
|
+
throw new MisoChainIdentifierMismatchError(
|
|
434
|
+
chainIdentifier,
|
|
435
|
+
this.#chainIdentifier,
|
|
436
|
+
);
|
|
437
|
+
}
|
|
438
|
+
this.#readyState = "ready";
|
|
439
|
+
} catch (error) {
|
|
440
|
+
this.#readyState = "failed";
|
|
441
|
+
throw error;
|
|
442
|
+
}
|
|
443
|
+
})();
|
|
444
|
+
}
|
|
445
|
+
return this.#readyPromise;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
/** Compatibility hook; prefer `await client.miso.ready()`. */
|
|
449
|
+
async validateChainIdentifier(): Promise<string> {
|
|
450
|
+
await this.ready();
|
|
451
|
+
return this.#chainIdentifier!;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
#requireReady(operation: string): void {
|
|
455
|
+
// Capability availability remains the first fail-closed boundary. This
|
|
456
|
+
// keeps an unavailable deployment from masquerading as a mere lifecycle
|
|
457
|
+
// error while still preventing configured builders from running pre-ready.
|
|
458
|
+
if (
|
|
459
|
+
operation === "ids.pressing" ||
|
|
460
|
+
operation === "ids.pressingAdminCap" ||
|
|
461
|
+
operation === "ids.record" ||
|
|
462
|
+
operation === "ids.listing" ||
|
|
463
|
+
operation === "ids.sale" ||
|
|
464
|
+
operation === "tx.purchaseRecord" ||
|
|
465
|
+
operation === "tx.openPressing" ||
|
|
466
|
+
operation === "tx.openListing" ||
|
|
467
|
+
operation === "tx.authorizeRecordShop" ||
|
|
468
|
+
operation === "tx.revokeRecordShop" ||
|
|
469
|
+
operation === "tx.setListingPrice" ||
|
|
470
|
+
operation === "tx.setListingState"
|
|
471
|
+
) {
|
|
472
|
+
this.#recordSales();
|
|
473
|
+
}
|
|
474
|
+
if (operation === "ids.vault" || operation === "ids.vaultAdminCap") {
|
|
475
|
+
this.#operations();
|
|
476
|
+
}
|
|
477
|
+
if (this.#readyState !== "ready") {
|
|
478
|
+
throw new MisoClientNotReadyError(operation);
|
|
479
|
+
}
|
|
291
480
|
}
|
|
292
481
|
|
|
293
482
|
/** Party identity and profile APIs, backed by the network SDK. */
|
|
294
483
|
get party(): PartyProtocolClient {
|
|
295
|
-
if (!this
|
|
484
|
+
if (!this.#protocol) {
|
|
296
485
|
throw new Error(
|
|
297
486
|
"misoPlatform: Party APIs require the complete platform deployment. Use miso({ deployment }).",
|
|
298
487
|
);
|
|
299
488
|
}
|
|
300
|
-
|
|
489
|
+
this.#requireReady("party APIs");
|
|
490
|
+
return this.#protocol.party;
|
|
301
491
|
}
|
|
302
492
|
|
|
303
|
-
|
|
304
|
-
return
|
|
493
|
+
#recordSales() {
|
|
494
|
+
return requireRecordSalesDeployment(
|
|
495
|
+
this.#config.recordSales ?? {
|
|
496
|
+
status: "unavailable",
|
|
497
|
+
reason:
|
|
498
|
+
"this client was configured without Record and Record Shop package IDs",
|
|
499
|
+
},
|
|
500
|
+
);
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
#operations() {
|
|
504
|
+
return requireOperationsDeployment(this.#config.operations);
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
#availableOperations() {
|
|
508
|
+
return this.#config.operations?.status === "available"
|
|
509
|
+
? requireOperationsDeployment(this.#config.operations)
|
|
510
|
+
: undefined;
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
get recordPackageId(): string {
|
|
514
|
+
return this.#recordSales().recordPackageId;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
get recordShopPackageId(): string {
|
|
518
|
+
return this.#recordSales().recordShopPackageId;
|
|
305
519
|
}
|
|
306
520
|
|
|
307
521
|
#misoPackageId(): string {
|
|
@@ -349,48 +563,66 @@ export class MisoPlatformClient {
|
|
|
349
563
|
// ── Reads ─────────────────────────────────────────────────────────────────
|
|
350
564
|
|
|
351
565
|
/** The run itself, or `null` if this release has never opened one. */
|
|
352
|
-
getPressing(pressingId: string): Promise<PressingView | null> {
|
|
353
|
-
|
|
566
|
+
async getPressing(pressingId: string): Promise<PressingView | null> {
|
|
567
|
+
await this.ready();
|
|
568
|
+
return getPressing(this.#client, pressingId, this.recordPackageId);
|
|
354
569
|
}
|
|
355
570
|
|
|
356
571
|
/** One currency's offer, or `null` if the run does not sell in it. */
|
|
357
|
-
getListing(listingId: string): Promise<ListingView | null> {
|
|
358
|
-
|
|
572
|
+
async getListing(listingId: string): Promise<ListingView | null> {
|
|
573
|
+
await this.ready();
|
|
574
|
+
return getListing(this.#client, listingId, this.recordShopPackageId);
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
/** One concrete purchased Record, including immutable purchase provenance. */
|
|
578
|
+
async getRecord(recordId: string): Promise<RecordView | null> {
|
|
579
|
+
await this.ready();
|
|
580
|
+
return getRecord(this.#client, recordId, this.recordPackageId);
|
|
359
581
|
}
|
|
360
582
|
|
|
361
583
|
/** Run + one currency's offer in a single round trip, by address math. */
|
|
362
|
-
getSale(p: Configured<GetSaleParams>): Promise<{
|
|
584
|
+
async getSale(p: Configured<GetSaleParams>): Promise<{
|
|
363
585
|
pressing: PressingView | null;
|
|
364
586
|
listing: ListingView | null;
|
|
365
587
|
}> {
|
|
588
|
+
await this.ready();
|
|
366
589
|
return getSale(this.#client, {
|
|
367
590
|
...p,
|
|
368
|
-
|
|
591
|
+
recordPackageId: this.recordPackageId,
|
|
592
|
+
recordShopPackageId: this.recordShopPackageId,
|
|
369
593
|
});
|
|
370
594
|
}
|
|
371
595
|
|
|
372
596
|
// ── Address math ──────────────────────────────────────────────────────────
|
|
373
597
|
|
|
374
|
-
readonly ids = {
|
|
375
|
-
pressing: (releaseId: string) =>
|
|
376
|
-
derivePressingId(releaseId, this.
|
|
598
|
+
readonly ids = requireReadyOnFunctions({
|
|
599
|
+
pressing: (releaseId: string, edition: number) =>
|
|
600
|
+
derivePressingId(releaseId, edition, this.recordPackageId),
|
|
377
601
|
pressingAdminCap: (pressingId: string) =>
|
|
378
|
-
derivePressingAdminCapId(pressingId, this.
|
|
602
|
+
derivePressingAdminCapId(pressingId, this.recordPackageId),
|
|
603
|
+
record: (pressingId: string, number: number) =>
|
|
604
|
+
deriveRecordId(pressingId, number, this.recordPackageId),
|
|
379
605
|
listing: (pressingId: string, currencyType: string) =>
|
|
380
|
-
deriveListingId(pressingId, currencyType, this.
|
|
381
|
-
sale: (releaseId: string, currencyType: string) =>
|
|
382
|
-
deriveSaleIds(
|
|
606
|
+
deriveListingId(pressingId, currencyType, this.recordShopPackageId),
|
|
607
|
+
sale: (releaseId: string, edition: number, currencyType: string) =>
|
|
608
|
+
deriveSaleIds(
|
|
609
|
+
releaseId,
|
|
610
|
+
edition,
|
|
611
|
+
currencyType,
|
|
612
|
+
this.recordPackageId,
|
|
613
|
+
this.recordShopPackageId,
|
|
614
|
+
),
|
|
383
615
|
vault: (capId: string, capType: string) =>
|
|
384
616
|
vaultActions.deriveVaultId({
|
|
385
|
-
vaultRegistryId: this.#
|
|
617
|
+
vaultRegistryId: this.#operations().vault.registryId,
|
|
386
618
|
capId,
|
|
387
619
|
capType,
|
|
388
|
-
vaultPackageId: this.#
|
|
620
|
+
vaultPackageId: this.#operations().vault.packageId,
|
|
389
621
|
}),
|
|
390
622
|
vaultAdminCap: (vaultId: string) =>
|
|
391
623
|
vaultActions.deriveVaultAdminCapId(
|
|
392
624
|
vaultId,
|
|
393
|
-
this.#
|
|
625
|
+
this.#operations().vault.packageId,
|
|
394
626
|
),
|
|
395
627
|
genre: (canonicalName: string) =>
|
|
396
628
|
deriveGenreAddress(
|
|
@@ -398,26 +630,45 @@ export class MisoPlatformClient {
|
|
|
398
630
|
this.#requiredConfig("genrePackageId", "genre id derivation"),
|
|
399
631
|
canonicalName,
|
|
400
632
|
),
|
|
401
|
-
};
|
|
633
|
+
}, (operation) => this.#requireReady(operation), "ids");
|
|
402
634
|
|
|
403
635
|
// ── Transaction builders ──────────────────────────────────────────────────
|
|
404
636
|
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
637
|
+
/** Client-bound builders require a successful `await client.miso.ready()`.
|
|
638
|
+
* Standalone exports remain pure for explicitly managed offline workflows. */
|
|
639
|
+
readonly tx = requireReadyOnFunctions({
|
|
640
|
+
purchaseRecord: (p: Configured<PurchaseRecordParams>): TxThunk =>
|
|
641
|
+
purchaseRecord({
|
|
408
642
|
...p,
|
|
409
|
-
|
|
643
|
+
recordPackageId: this.recordPackageId,
|
|
644
|
+
recordShopPackageId: this.recordShopPackageId,
|
|
410
645
|
}),
|
|
411
646
|
openPressing: (p: Configured<OpenPressingParams>): TxThunk =>
|
|
412
|
-
openPressing({
|
|
647
|
+
openPressing({
|
|
648
|
+
...p,
|
|
649
|
+
recordPackageId: this.recordPackageId,
|
|
650
|
+
recordShopPackageId: this.recordShopPackageId,
|
|
651
|
+
}),
|
|
413
652
|
openListing: (p: Configured<OpenListingParams>): TxThunk =>
|
|
414
|
-
openListing({ ...p,
|
|
653
|
+
openListing({ ...p, recordShopPackageId: this.recordShopPackageId }),
|
|
654
|
+
authorizeRecordShop: (
|
|
655
|
+
p: Configured<PressingAdministrationParams>,
|
|
656
|
+
): TxThunk =>
|
|
657
|
+
authorizeRecordShop({
|
|
658
|
+
...p,
|
|
659
|
+
recordPackageId: this.recordPackageId,
|
|
660
|
+
recordShopPackageId: this.recordShopPackageId,
|
|
661
|
+
}),
|
|
662
|
+
revokeRecordShop: (p: Configured<PressingAdministrationParams>): TxThunk =>
|
|
663
|
+
revokeRecordShop({
|
|
664
|
+
...p,
|
|
665
|
+
recordPackageId: this.recordPackageId,
|
|
666
|
+
recordShopPackageId: this.recordShopPackageId,
|
|
667
|
+
}),
|
|
415
668
|
setListingPrice: (p: Configured<SetListingPriceParams>): TxThunk =>
|
|
416
|
-
setListingPrice({ ...p,
|
|
669
|
+
setListingPrice({ ...p, recordShopPackageId: this.recordShopPackageId }),
|
|
417
670
|
setListingState: (p: Configured<SetListingStateParams>): TxThunk =>
|
|
418
|
-
setListingState({ ...p,
|
|
419
|
-
setPressingState: (p: Configured<SetPressingStateParams>): TxThunk =>
|
|
420
|
-
setPressingState({ ...p, misoPressingPackageId: this.packageId }),
|
|
671
|
+
setListingState({ ...p, recordShopPackageId: this.recordShopPackageId }),
|
|
421
672
|
|
|
422
673
|
// Publishing (protocol works + minato share economics) — package-id-free
|
|
423
674
|
// builders pass through unchanged; the rest bind this client's
|
|
@@ -535,14 +786,18 @@ export class MisoPlatformClient {
|
|
|
535
786
|
"setReleaseTrackCover",
|
|
536
787
|
),
|
|
537
788
|
}),
|
|
538
|
-
};
|
|
789
|
+
}, (operation) => this.#requireReady(operation), "tx");
|
|
539
790
|
|
|
540
791
|
/**
|
|
541
792
|
* Vault-aware builders and parsers. These take explicit object ids because a
|
|
542
793
|
* VaultAdminCap is owner-held while the Vault is shared; package ids can come
|
|
543
794
|
* from the deployment config or be supplied for private deployments.
|
|
544
795
|
*/
|
|
545
|
-
|
|
796
|
+
get vault(): typeof vaultActions | undefined {
|
|
797
|
+
if (!this.#availableOperations()) return undefined;
|
|
798
|
+
this.#requireReady("vault builders");
|
|
799
|
+
return vaultActions;
|
|
800
|
+
}
|
|
546
801
|
|
|
547
802
|
// ── Share currency provisioning (executes; Signer pattern) ─────────────────
|
|
548
803
|
|
|
@@ -551,18 +806,83 @@ export class MisoPlatformClient {
|
|
|
551
806
|
signer: Signer,
|
|
552
807
|
params: share.CreateShareCurrencyParams,
|
|
553
808
|
): Promise<share.ShareCurrency> {
|
|
809
|
+
await this.ready();
|
|
554
810
|
return share.createShareCurrency(this.#client, signer, params);
|
|
555
811
|
}
|
|
556
812
|
|
|
813
|
+
/** Execute a composed platform PTB only after exact-ledger validation. */
|
|
814
|
+
async executeViaExecutor(
|
|
815
|
+
executor: ParallelTransactionExecutor,
|
|
816
|
+
...thunks: TxThunk[]
|
|
817
|
+
): Promise<PlatformExecResult> {
|
|
818
|
+
await this.ready();
|
|
819
|
+
return executePlatformViaExecutor(executor, ...thunks);
|
|
820
|
+
}
|
|
821
|
+
|
|
557
822
|
// ── Generated layer ───────────────────────────────────────────────────────
|
|
558
823
|
|
|
559
824
|
/** Generated Move-call bindings, for commands this facade doesn't wrap. */
|
|
560
825
|
get call() {
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
826
|
+
const sales =
|
|
827
|
+
this.#config.recordSales?.status === "available"
|
|
828
|
+
? this.#config.recordSales
|
|
829
|
+
: undefined;
|
|
830
|
+
const operations = this.#availableOperations();
|
|
831
|
+
return requireReadyOnModuleFunctions({
|
|
832
|
+
record: sales
|
|
833
|
+
? bindModulePackage(recordContract, sales.recordPackageId, [
|
|
834
|
+
"destroy",
|
|
835
|
+
"releaseId",
|
|
836
|
+
"pressingId",
|
|
837
|
+
"edition",
|
|
838
|
+
"number",
|
|
839
|
+
"purchaseCurrency",
|
|
840
|
+
"purchasePrice",
|
|
841
|
+
"purchasedBy",
|
|
842
|
+
"purchasedTimestampMs",
|
|
843
|
+
"deriveAddress",
|
|
844
|
+
] as const)
|
|
845
|
+
: undefined,
|
|
846
|
+
listing: sales
|
|
847
|
+
? bindModulePackage(listingContract, sales.recordShopPackageId, [
|
|
848
|
+
"fixed",
|
|
849
|
+
"floor",
|
|
850
|
+
"enabled",
|
|
851
|
+
"disabled",
|
|
852
|
+
"setState",
|
|
853
|
+
"setPrice",
|
|
854
|
+
"purchase",
|
|
855
|
+
"deriveAddress",
|
|
856
|
+
"releaseId",
|
|
857
|
+
"pressingId",
|
|
858
|
+
"pricing",
|
|
859
|
+
"price",
|
|
860
|
+
"state",
|
|
861
|
+
"isEnabled",
|
|
862
|
+
"isDisabled",
|
|
863
|
+
"isFixed",
|
|
864
|
+
"isFloor",
|
|
865
|
+
] as const)
|
|
866
|
+
: undefined,
|
|
867
|
+
pressing: sales
|
|
868
|
+
? bindModulePackage(pressingContract, sales.recordPackageId, [
|
|
869
|
+
"authorizeDistributor",
|
|
870
|
+
"revokeDistributor",
|
|
871
|
+
"deriveAddress",
|
|
872
|
+
"deriveAdminCapAddress",
|
|
873
|
+
"releaseId",
|
|
874
|
+
"edition",
|
|
875
|
+
"supply",
|
|
876
|
+
"maxSupply",
|
|
877
|
+
"distributors",
|
|
878
|
+
"isDistributorAuthorized",
|
|
879
|
+
"pressingId",
|
|
880
|
+
] as const)
|
|
881
|
+
: undefined,
|
|
564
882
|
genre: this.#config.genrePackageId
|
|
565
|
-
? bindModulePackage(genreContract, this.#config.genrePackageId, [
|
|
883
|
+
? bindModulePackage(genreContract, this.#config.genrePackageId, [
|
|
884
|
+
"deriveAddress",
|
|
885
|
+
] as const)
|
|
566
886
|
: undefined,
|
|
567
887
|
releaseDescription: this.#config.releaseDescriptionPackageId
|
|
568
888
|
? bindModulePackage(
|
|
@@ -575,14 +895,47 @@ export class MisoPlatformClient {
|
|
|
575
895
|
? bindModulePackage(
|
|
576
896
|
releaseDspLinkContract,
|
|
577
897
|
this.#config.releaseDspLinkPackageId,
|
|
578
|
-
[
|
|
898
|
+
[
|
|
899
|
+
"platform",
|
|
900
|
+
"platformSpotify",
|
|
901
|
+
"platformAppleMusic",
|
|
902
|
+
"platformAmazonMusic",
|
|
903
|
+
"platformBandcamp",
|
|
904
|
+
"platformDeezer",
|
|
905
|
+
"platformSoundcloud",
|
|
906
|
+
"platformTidal",
|
|
907
|
+
"platformYoutubeMusic",
|
|
908
|
+
"newSpotify",
|
|
909
|
+
"newAppleMusicAlbum",
|
|
910
|
+
"newAppleMusicTrack",
|
|
911
|
+
"newAmazonMusicAlbum",
|
|
912
|
+
"newAmazonMusicTrack",
|
|
913
|
+
"newBandcamp",
|
|
914
|
+
"newDeezer",
|
|
915
|
+
"newSoundcloud",
|
|
916
|
+
"newTidal",
|
|
917
|
+
"newYoutubeMusic",
|
|
918
|
+
"setReleaseLink",
|
|
919
|
+
"clearReleaseLink",
|
|
920
|
+
"setTrackLink",
|
|
921
|
+
"clearTrackLink",
|
|
922
|
+
"clearTrackLinks",
|
|
923
|
+
"hasReleaseLink",
|
|
924
|
+
] as const,
|
|
579
925
|
)
|
|
580
926
|
: undefined,
|
|
581
927
|
releaseGenre: this.#config.releaseGenrePackageId
|
|
582
928
|
? bindModulePackage(
|
|
583
929
|
releaseGenreContract,
|
|
584
930
|
this.#config.releaseGenrePackageId,
|
|
585
|
-
[
|
|
931
|
+
[
|
|
932
|
+
"setPrimaryGenre",
|
|
933
|
+
"addSecondaryGenre",
|
|
934
|
+
"removeSecondaryGenre",
|
|
935
|
+
"setTrackPrimaryGenre",
|
|
936
|
+
"unsetTrackPrimaryGenre",
|
|
937
|
+
"hasGenre",
|
|
938
|
+
] as const,
|
|
586
939
|
)
|
|
587
940
|
: undefined,
|
|
588
941
|
releaseKind: this.#config.releaseKindPackageId
|
|
@@ -592,70 +945,198 @@ export class MisoPlatformClient {
|
|
|
592
945
|
["setKind", "unsetKind", "hasKind"] as const,
|
|
593
946
|
)
|
|
594
947
|
: undefined,
|
|
595
|
-
releaseRevenueDistributor:
|
|
948
|
+
releaseRevenueDistributor: operations
|
|
596
949
|
? bindModulePackage(
|
|
597
950
|
releaseRevenueDistributorContract,
|
|
598
|
-
|
|
599
|
-
[
|
|
951
|
+
operations.actions.releaseRevenueDistributor,
|
|
952
|
+
[
|
|
953
|
+
"redeemAndDistribute",
|
|
954
|
+
"redeemAllAndDistribute",
|
|
955
|
+
"receiveAndDistribute",
|
|
956
|
+
] as const,
|
|
957
|
+
)
|
|
958
|
+
: undefined,
|
|
959
|
+
releaseRevenueDistributorPlugin: operations
|
|
960
|
+
? bindModulePackage(
|
|
961
|
+
releaseRevenueDistributorPluginContract,
|
|
962
|
+
operations.plugins.releaseRevenueDistributor,
|
|
963
|
+
[
|
|
964
|
+
"install",
|
|
965
|
+
"uninstall",
|
|
966
|
+
"redeemAllAndDistribute",
|
|
967
|
+
"receiveAndDistribute",
|
|
968
|
+
"isInstalled",
|
|
969
|
+
] as const,
|
|
600
970
|
)
|
|
601
971
|
: undefined,
|
|
602
|
-
vault:
|
|
603
|
-
? bindModulePackage(vaultContract,
|
|
972
|
+
vault: operations
|
|
973
|
+
? bindModulePackage(vaultContract, operations.vault.packageId, [
|
|
974
|
+
"share",
|
|
975
|
+
"withdrawCap",
|
|
976
|
+
"restoreCap",
|
|
977
|
+
"derivedAddress",
|
|
978
|
+
"capId",
|
|
979
|
+
"isActive",
|
|
980
|
+
"authorizedPlugins",
|
|
981
|
+
"isPluginAuthorized",
|
|
982
|
+
] as const)
|
|
604
983
|
: undefined,
|
|
605
|
-
compositionRoyaltyPool:
|
|
984
|
+
compositionRoyaltyPool: operations
|
|
606
985
|
? bindModulePackage(
|
|
607
986
|
compositionRoyaltyPoolContract,
|
|
608
|
-
|
|
609
|
-
["
|
|
987
|
+
operations.actions.compositionRoyaltyPool,
|
|
988
|
+
["newPool", "receiveAndDeposit", "redeemAndDeposit", "poolAddress"] as const,
|
|
989
|
+
)
|
|
990
|
+
: undefined,
|
|
991
|
+
compositionRoyaltyPoolPlugin: operations
|
|
992
|
+
? bindModulePackage(
|
|
993
|
+
compositionRoyaltyPoolPluginContract,
|
|
994
|
+
operations.plugins.compositionRoyaltyPool,
|
|
995
|
+
[
|
|
996
|
+
"install",
|
|
997
|
+
"uninstall",
|
|
998
|
+
"receiveAndDeposit",
|
|
999
|
+
"redeemAndDeposit",
|
|
1000
|
+
"isInstalled",
|
|
1001
|
+
] as const,
|
|
610
1002
|
)
|
|
611
1003
|
: undefined,
|
|
612
|
-
recordingRoyaltyPool:
|
|
1004
|
+
recordingRoyaltyPool: operations
|
|
613
1005
|
? bindModulePackage(
|
|
614
1006
|
recordingRoyaltyPoolContract,
|
|
615
|
-
|
|
616
|
-
["
|
|
1007
|
+
operations.actions.recordingRoyaltyPool,
|
|
1008
|
+
["newPool", "receiveAndDeposit", "redeemAndDeposit", "poolAddress"] as const,
|
|
1009
|
+
)
|
|
1010
|
+
: undefined,
|
|
1011
|
+
recordingRoyaltyPoolPlugin: operations
|
|
1012
|
+
? bindModulePackage(
|
|
1013
|
+
recordingRoyaltyPoolPluginContract,
|
|
1014
|
+
operations.plugins.recordingRoyaltyPool,
|
|
1015
|
+
[
|
|
1016
|
+
"install",
|
|
1017
|
+
"uninstall",
|
|
1018
|
+
"receiveAndDeposit",
|
|
1019
|
+
"redeemAndDeposit",
|
|
1020
|
+
"isInstalled",
|
|
1021
|
+
] as const,
|
|
617
1022
|
)
|
|
618
1023
|
: undefined,
|
|
619
|
-
partyWallet:
|
|
1024
|
+
partyWallet: operations
|
|
620
1025
|
? bindModulePackage(
|
|
621
1026
|
partyWalletContract,
|
|
622
|
-
|
|
623
|
-
["
|
|
1027
|
+
operations.actions.partyWallet,
|
|
1028
|
+
["receive", "receiveBalance", "redeemBalance", "inboxAddress"] as const,
|
|
624
1029
|
)
|
|
625
1030
|
: undefined,
|
|
626
|
-
compositionRoutedStake:
|
|
1031
|
+
compositionRoutedStake: operations
|
|
627
1032
|
? bindModulePackage(
|
|
628
1033
|
compositionRoutedStakeContract,
|
|
629
|
-
|
|
630
|
-
["
|
|
1034
|
+
operations.actions.compositionRoutedStake,
|
|
1035
|
+
["createStake", "register", "unregister", "unstake", "restake", "stakeAddress"] as const,
|
|
631
1036
|
)
|
|
632
1037
|
: undefined,
|
|
633
1038
|
routedStake: this.#config.routedStakePackageId
|
|
634
|
-
? bindModulePackage(
|
|
1039
|
+
? bindModulePackage(
|
|
1040
|
+
routedStakeContract,
|
|
1041
|
+
this.#config.routedStakePackageId,
|
|
1042
|
+
[
|
|
1043
|
+
"share",
|
|
1044
|
+
"register",
|
|
1045
|
+
"unregister",
|
|
1046
|
+
"sweep",
|
|
1047
|
+
"unstake",
|
|
1048
|
+
"restake",
|
|
1049
|
+
"derivedAddress",
|
|
1050
|
+
] as const,
|
|
1051
|
+
)
|
|
635
1052
|
: undefined,
|
|
636
1053
|
royaltyPool: this.#config.royaltyPoolPackageId
|
|
637
|
-
? bindModulePackage(
|
|
1054
|
+
? bindModulePackage(
|
|
1055
|
+
royaltyPoolContract,
|
|
1056
|
+
this.#config.royaltyPoolPackageId,
|
|
1057
|
+
[
|
|
1058
|
+
"share",
|
|
1059
|
+
"deposit",
|
|
1060
|
+
"sweepAndDeposit",
|
|
1061
|
+
"receiveAndDeposit",
|
|
1062
|
+
"registerStake",
|
|
1063
|
+
"unregisterStake",
|
|
1064
|
+
"claimRewards",
|
|
1065
|
+
"pendingRewards",
|
|
1066
|
+
"stakedShares",
|
|
1067
|
+
"cumulativeRewardPerShare",
|
|
1068
|
+
"cumulativeDeposits",
|
|
1069
|
+
"derivedAddress",
|
|
1070
|
+
"assertDerivedFrom",
|
|
1071
|
+
] as const,
|
|
1072
|
+
)
|
|
638
1073
|
: undefined,
|
|
639
1074
|
recordingAdvisory: this.#config.recordingAdvisoryPackageId
|
|
640
|
-
? bindModulePackage(
|
|
1075
|
+
? bindModulePackage(
|
|
1076
|
+
recordingAdvisoryContract,
|
|
1077
|
+
this.#config.recordingAdvisoryPackageId,
|
|
1078
|
+
[
|
|
1079
|
+
"explicit",
|
|
1080
|
+
"notExplicit",
|
|
1081
|
+
"cleaned",
|
|
1082
|
+
"setRating",
|
|
1083
|
+
"unsetRating",
|
|
1084
|
+
"hasRating",
|
|
1085
|
+
"isExplicit",
|
|
1086
|
+
"isNotExplicit",
|
|
1087
|
+
"isCleaned",
|
|
1088
|
+
] as const,
|
|
1089
|
+
)
|
|
641
1090
|
: undefined,
|
|
642
1091
|
recordingLanguage: this.#config.recordingLanguagePackageId
|
|
643
|
-
? bindModulePackage(
|
|
1092
|
+
? bindModulePackage(
|
|
1093
|
+
recordingLanguageContract,
|
|
1094
|
+
this.#config.recordingLanguagePackageId,
|
|
1095
|
+
[
|
|
1096
|
+
"setLanguages",
|
|
1097
|
+
"setInstrumental",
|
|
1098
|
+
"unsetLanguages",
|
|
1099
|
+
"hasLanguages",
|
|
1100
|
+
"isInstrumental",
|
|
1101
|
+
] as const,
|
|
1102
|
+
)
|
|
644
1103
|
: undefined,
|
|
645
1104
|
recordingMasterReference: this.#config.recordingMasterReferencePackageId
|
|
646
|
-
? bindModulePackage(
|
|
1105
|
+
? bindModulePackage(
|
|
1106
|
+
recordingMasterReferenceContract,
|
|
1107
|
+
this.#config.recordingMasterReferencePackageId,
|
|
1108
|
+
[
|
|
1109
|
+
"setMasterReference",
|
|
1110
|
+
"unsetMasterReference",
|
|
1111
|
+
"hasMasterReference",
|
|
1112
|
+
] as const,
|
|
1113
|
+
)
|
|
647
1114
|
: undefined,
|
|
648
1115
|
recordingPreview: this.#config.recordingPreviewPackageId
|
|
649
|
-
? bindModulePackage(
|
|
1116
|
+
? bindModulePackage(
|
|
1117
|
+
recordingPreviewContract,
|
|
1118
|
+
this.#config.recordingPreviewPackageId,
|
|
1119
|
+
["setPreview", "unsetPreview", "hasPreview"] as const,
|
|
1120
|
+
)
|
|
650
1121
|
: undefined,
|
|
651
1122
|
coverArt: this.#config.coverArtPackageId
|
|
652
|
-
? bindModulePackage(
|
|
1123
|
+
? bindModulePackage(
|
|
1124
|
+
coverArtContract,
|
|
1125
|
+
this.#config.coverArtPackageId,
|
|
1126
|
+
[] as const,
|
|
1127
|
+
)
|
|
653
1128
|
: undefined,
|
|
654
1129
|
releaseCoverArt: this.#config.releaseCoverArtPackageId
|
|
655
1130
|
? bindModulePackage(
|
|
656
1131
|
releaseCoverArtContract,
|
|
657
1132
|
this.#config.releaseCoverArtPackageId,
|
|
658
|
-
[
|
|
1133
|
+
[
|
|
1134
|
+
"setCover",
|
|
1135
|
+
"unsetCover",
|
|
1136
|
+
"setTrackCover",
|
|
1137
|
+
"unsetTrackCover",
|
|
1138
|
+
"hasCoverArt",
|
|
1139
|
+
] as const,
|
|
659
1140
|
)
|
|
660
1141
|
: undefined,
|
|
661
1142
|
releaseCredits: this.#config.releaseCreditsPackageId
|
|
@@ -665,23 +1146,39 @@ export class MisoPlatformClient {
|
|
|
665
1146
|
["addCredit", "removeCredit", "hasCredits"] as const,
|
|
666
1147
|
)
|
|
667
1148
|
: undefined,
|
|
668
|
-
};
|
|
1149
|
+
}, (operation) => this.#requireReady(operation), "call");
|
|
669
1150
|
}
|
|
670
1151
|
|
|
671
1152
|
/** Generated BCS definitions, for parsing objects or events yourself. */
|
|
672
1153
|
readonly bcs = {
|
|
1154
|
+
Record: recordContract.Record,
|
|
673
1155
|
Pressing: pressingContract.Pressing,
|
|
674
1156
|
PressingAdminCap: pressingContract.PressingAdminCap,
|
|
675
1157
|
Listing: listingContract.Listing,
|
|
676
|
-
|
|
1158
|
+
Pricing: listingContract.Pricing,
|
|
1159
|
+
ListingState: listingContract.State,
|
|
1160
|
+
RecordCreatedEvent: recordContract.RecordCreatedEvent,
|
|
1161
|
+
RecordDestroyedEvent: recordContract.RecordDestroyedEvent,
|
|
1162
|
+
PressingCreatedEvent: pressingContract.PressingCreatedEvent,
|
|
1163
|
+
DistributorAuthorizedEvent: pressingContract.DistributorAuthorizedEvent,
|
|
1164
|
+
DistributorRevokedEvent: pressingContract.DistributorRevokedEvent,
|
|
1165
|
+
RecordPurchasedEvent: pressingContract.RecordPurchasedEvent,
|
|
1166
|
+
ListingCreatedEvent: listingContract.ListingCreatedEvent,
|
|
1167
|
+
ListingPriceChangedEvent: listingContract.ListingPriceChangedEvent,
|
|
1168
|
+
ListingStateChangedEvent: listingContract.ListingStateChangedEvent,
|
|
1169
|
+
RecordSoldEvent: listingContract.RecordSoldEvent,
|
|
677
1170
|
VaultAdminCap: vaultContract.VaultAdminCap,
|
|
678
1171
|
VaultRegistry: vaultContract.VaultRegistry,
|
|
679
1172
|
VaultKey: vaultContract.VaultKey,
|
|
680
1173
|
VaultAdminCapKey: vaultContract.VaultAdminCapKey,
|
|
681
|
-
VaultRegistryCreatedEvent: vaultContract.VaultRegistryCreatedEvent,
|
|
682
1174
|
VaultCreatedEvent: vaultContract.VaultCreatedEvent,
|
|
683
1175
|
VaultCapabilityWithdrawnEvent: vaultContract.VaultCapabilityWithdrawnEvent,
|
|
684
1176
|
VaultCapabilityRestoredEvent: vaultContract.VaultCapabilityRestoredEvent,
|
|
1177
|
+
PartyObjectReceivedEvent: partyWalletContract.ObjectReceivedEvent,
|
|
1178
|
+
PartyCoinsReceivedEvent: partyWalletContract.CoinsReceivedEvent,
|
|
1179
|
+
PartyFundsRedeemedEvent: partyWalletContract.FundsRedeemedEvent,
|
|
1180
|
+
ReleaseTrackRevenueDistributedEvent:
|
|
1181
|
+
releaseRevenueDistributorContract.ReleaseTrackRevenueDistributedEvent,
|
|
685
1182
|
ReleaseRevenueDistributedEvent:
|
|
686
1183
|
releaseRevenueDistributorContract.ReleaseRevenueDistributedEvent,
|
|
687
1184
|
};
|
|
@@ -703,8 +1200,12 @@ export function miso<const Name extends string = "miso">(
|
|
|
703
1200
|
return {
|
|
704
1201
|
name,
|
|
705
1202
|
register: (client: ClientWithCoreApi) => {
|
|
706
|
-
const deployment =
|
|
707
|
-
options.deployment ?? getMisoPlatformDeployment(client.network)
|
|
1203
|
+
const deployment = immutableSnapshot(
|
|
1204
|
+
options.deployment ?? getMisoPlatformDeployment(client.network),
|
|
1205
|
+
);
|
|
1206
|
+
if (deployment.network !== client.network) {
|
|
1207
|
+
throw new MisoNetworkMismatchError(client.network, deployment.network);
|
|
1208
|
+
}
|
|
708
1209
|
const protocol = protocolMiso({
|
|
709
1210
|
deployment: deployment.protocol,
|
|
710
1211
|
graphqlClient: options.graphqlClient,
|
|
@@ -712,7 +1213,7 @@ export function miso<const Name extends string = "miso">(
|
|
|
712
1213
|
return new MisoPlatformClient(
|
|
713
1214
|
client,
|
|
714
1215
|
{
|
|
715
|
-
|
|
1216
|
+
recordSales: deployment.recordSales,
|
|
716
1217
|
misoPackageId: deployment.protocol.miso,
|
|
717
1218
|
minatoPackageId: deployment.packages.minato,
|
|
718
1219
|
releaseRegistryId: deployment.objects.releaseRegistry,
|
|
@@ -722,21 +1223,12 @@ export function miso<const Name extends string = "miso">(
|
|
|
722
1223
|
releaseDspLinkPackageId: deployment.packages.releaseDspLink,
|
|
723
1224
|
recordingAdvisoryPackageId: deployment.packages.recordingAdvisory,
|
|
724
1225
|
recordingLanguagePackageId: deployment.packages.recordingLanguage,
|
|
725
|
-
recordingMasterReferencePackageId:
|
|
1226
|
+
recordingMasterReferencePackageId:
|
|
1227
|
+
deployment.packages.recordingMasterReference,
|
|
726
1228
|
recordingPreviewPackageId: deployment.packages.recordingPreview,
|
|
727
|
-
|
|
728
|
-
vaultRegistryId: deployment.objects.vaultRegistry,
|
|
1229
|
+
operations: deployment.operations,
|
|
729
1230
|
royaltyPoolPackageId: deployment.packages.royaltyPool,
|
|
730
|
-
vaultCompositionRoyaltyPoolPluginPackageId:
|
|
731
|
-
deployment.packages.vaultCompositionRoyaltyPoolPlugin,
|
|
732
|
-
vaultRecordingRoyaltyPoolPluginPackageId:
|
|
733
|
-
deployment.packages.vaultRecordingRoyaltyPoolPlugin,
|
|
734
|
-
vaultPartyWalletPluginPackageId: deployment.packages.vaultPartyWalletPlugin,
|
|
735
|
-
vaultCompositionRoutedStakePluginPackageId:
|
|
736
|
-
deployment.packages.vaultCompositionRoutedStakePlugin,
|
|
737
1231
|
routedStakePackageId: deployment.packages.routedStake,
|
|
738
|
-
vaultReleaseRevenueDistributorPluginPackageId:
|
|
739
|
-
deployment.packages.vaultReleaseRevenueDistributorPlugin,
|
|
740
1232
|
releaseCreditsPackageId: deployment.packages.releaseCredits,
|
|
741
1233
|
misoCreditPackageId: deployment.packages.credit,
|
|
742
1234
|
coverArtPackageId: deployment.packages.coverArt,
|
|
@@ -760,10 +1252,16 @@ export function misoPlatform(config: MisoPlatformConfig) {
|
|
|
760
1252
|
return {
|
|
761
1253
|
name: "misoPlatform" as const,
|
|
762
1254
|
register: (client: ClientWithCoreApi) => {
|
|
763
|
-
const
|
|
764
|
-
|
|
1255
|
+
const configSnapshot = immutableSnapshot(config);
|
|
1256
|
+
if (configSnapshot.network && configSnapshot.network !== client.network) {
|
|
1257
|
+
throw new MisoNetworkMismatchError(client.network, configSnapshot.network);
|
|
1258
|
+
}
|
|
1259
|
+
const protocol = configSnapshot.misoPackageId
|
|
1260
|
+
? protocolMiso({
|
|
1261
|
+
deployment: { packageId: configSnapshot.misoPackageId },
|
|
1262
|
+
}).register(client)
|
|
765
1263
|
: undefined;
|
|
766
|
-
return new MisoPlatformClient(client,
|
|
1264
|
+
return new MisoPlatformClient(client, configSnapshot, protocol);
|
|
767
1265
|
},
|
|
768
1266
|
};
|
|
769
1267
|
}
|