@misofm/platform 0.24.0 → 0.26.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 +262 -95
- package/dist/auth.d.ts +8 -13
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +78 -59
- package/dist/auth.js.map +1 -1
- package/dist/catalog.d.ts +6 -6
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +33 -21
- package/dist/catalog.js.map +1 -1
- package/dist/client.d.ts +124 -127
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +112 -114
- package/dist/client.js.map +1 -1
- package/dist/contracts/composition_credits/composition_credits.d.ts +181 -0
- package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -0
- package/dist/contracts/composition_credits/composition_credits.js +109 -0
- package/dist/contracts/composition_credits/composition_credits.js.map +1 -0
- package/dist/contracts/composition_credits/composition_party_role.d.ts +119 -0
- package/dist/contracts/composition_credits/composition_party_role.d.ts.map +1 -0
- package/dist/contracts/composition_credits/composition_party_role.js +139 -0
- package/dist/contracts/composition_credits/composition_party_role.js.map +1 -0
- package/dist/contracts/composition_credits/deps/credit/credit.d.ts +24 -0
- package/dist/contracts/composition_credits/deps/credit/credit.d.ts.map +1 -0
- package/dist/contracts/composition_credits/deps/credit/credit.js +23 -0
- package/dist/contracts/composition_credits/deps/credit/credit.js.map +1 -0
- package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts +37 -0
- package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts.map +1 -0
- package/dist/contracts/composition_credits/deps/sui/vec_map.js +28 -0
- package/dist/contracts/composition_credits/deps/sui/vec_map.js.map +1 -0
- package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +143 -0
- package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -0
- package/dist/contracts/composition_routed_stake/composition_routed_stake.js +125 -0
- package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -0
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +93 -0
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -0
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +86 -0
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -0
- 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/composition_royalty_pool_plugin/witness.d.ts +6 -0
- package/dist/contracts/composition_royalty_pool_plugin/witness.d.ts.map +1 -0
- package/dist/contracts/composition_royalty_pool_plugin/witness.js +8 -0
- package/dist/contracts/composition_royalty_pool_plugin/witness.js.map +1 -0
- package/dist/contracts/cover_art/cover_art.d.ts +83 -0
- package/dist/contracts/cover_art/cover_art.d.ts.map +1 -0
- package/dist/contracts/cover_art/cover_art.js +66 -0
- package/dist/contracts/cover_art/cover_art.js.map +1 -0
- package/dist/contracts/cover_art/deps/ori/confidentiality.d.ts +24 -0
- package/dist/contracts/cover_art/deps/ori/confidentiality.d.ts.map +1 -0
- package/dist/contracts/cover_art/deps/ori/confidentiality.js +24 -0
- package/dist/contracts/cover_art/deps/ori/confidentiality.js.map +1 -0
- package/dist/contracts/cover_art/deps/ori/data.d.ts +16 -0
- package/dist/contracts/cover_art/deps/ori/data.d.ts.map +1 -0
- package/dist/contracts/cover_art/deps/ori/data.js +12 -0
- package/dist/contracts/cover_art/deps/ori/data.js.map +1 -0
- package/dist/contracts/genre/genre.d.ts +78 -0
- package/dist/contracts/genre/genre.d.ts.map +1 -0
- package/dist/contracts/genre/genre.js +87 -0
- package/dist/contracts/genre/genre.js.map +1 -0
- package/dist/contracts/party_cta/party_cta.d.ts +120 -0
- package/dist/contracts/party_cta/party_cta.d.ts.map +1 -0
- package/dist/contracts/party_cta/party_cta.js +139 -0
- package/dist/contracts/party_cta/party_cta.js.map +1 -0
- package/dist/contracts/party_genre/party_genre.d.ts +117 -0
- package/dist/contracts/party_genre/party_genre.d.ts.map +1 -0
- package/dist/contracts/party_genre/party_genre.js +131 -0
- package/dist/contracts/party_genre/party_genre.js.map +1 -0
- package/dist/contracts/party_media/party_media.d.ts +86 -0
- package/dist/contracts/party_media/party_media.d.ts.map +1 -0
- package/dist/contracts/party_media/party_media.js +97 -0
- package/dist/contracts/party_media/party_media.js.map +1 -0
- package/dist/contracts/party_music/party_music.d.ts +209 -0
- package/dist/contracts/party_music/party_music.d.ts.map +1 -0
- package/dist/contracts/party_music/party_music.js +259 -0
- package/dist/contracts/party_music/party_music.js.map +1 -0
- package/dist/contracts/party_platform_link/party_platform_link.d.ts +89 -0
- package/dist/contracts/party_platform_link/party_platform_link.d.ts.map +1 -0
- package/dist/contracts/party_platform_link/party_platform_link.js +92 -0
- package/dist/contracts/party_platform_link/party_platform_link.js.map +1 -0
- package/dist/contracts/party_pro_link/party_pro_link.d.ts +233 -0
- package/dist/contracts/party_pro_link/party_pro_link.d.ts.map +1 -0
- package/dist/contracts/party_pro_link/party_pro_link.js +289 -0
- package/dist/contracts/party_pro_link/party_pro_link.js.map +1 -0
- package/dist/contracts/party_profile/deps/country_code/country_code.d.ts +15 -0
- package/dist/contracts/party_profile/deps/country_code/country_code.d.ts.map +1 -0
- package/dist/contracts/party_profile/deps/country_code/country_code.js +17 -0
- package/dist/contracts/party_profile/deps/country_code/country_code.js.map +1 -0
- package/dist/contracts/party_profile/deps/language_code/language_code.d.ts +6 -0
- package/dist/contracts/party_profile/deps/language_code/language_code.d.ts.map +1 -0
- package/dist/contracts/party_profile/deps/language_code/language_code.js +8 -0
- package/dist/contracts/party_profile/deps/language_code/language_code.js.map +1 -0
- package/dist/contracts/party_profile/party_profile.d.ts +133 -0
- package/dist/contracts/party_profile/party_profile.d.ts.map +1 -0
- package/dist/contracts/party_profile/party_profile.js +153 -0
- package/dist/contracts/party_profile/party_profile.js.map +1 -0
- package/dist/contracts/party_roles/party_roles.d.ts +201 -0
- package/dist/contracts/party_roles/party_roles.d.ts.map +1 -0
- package/dist/contracts/party_roles/party_roles.js +237 -0
- package/dist/contracts/party_roles/party_roles.js.map +1 -0
- package/dist/contracts/party_social/party_social.d.ts +258 -0
- package/dist/contracts/party_social/party_social.d.ts.map +1 -0
- package/dist/contracts/party_social/party_social.js +320 -0
- package/dist/contracts/party_social/party_social.js.map +1 -0
- package/dist/contracts/party_tags/party_tags.d.ts +116 -0
- package/dist/contracts/party_tags/party_tags.d.ts.map +1 -0
- package/dist/contracts/party_tags/party_tags.js +130 -0
- package/dist/contracts/party_tags/party_tags.js.map +1 -0
- package/dist/contracts/party_wallet/party_wallet.d.ts +112 -0
- package/dist/contracts/party_wallet/party_wallet.d.ts.map +1 -0
- package/dist/contracts/party_wallet/party_wallet.js +114 -0
- package/dist/contracts/party_wallet/party_wallet.js.map +1 -0
- package/dist/contracts/record/deps/std/type_name.d.ts +18 -0
- package/dist/contracts/record/deps/std/type_name.d.ts.map +1 -0
- package/dist/contracts/record/deps/std/type_name.js +20 -0
- package/dist/contracts/record/deps/std/type_name.js.map +1 -0
- package/dist/contracts/record/deps/sui/vec_set.d.ts +21 -0
- package/dist/contracts/record/deps/sui/vec_set.d.ts.map +1 -0
- package/dist/contracts/record/deps/sui/vec_set.js +20 -0
- package/dist/contracts/record/deps/sui/vec_set.js.map +1 -0
- package/dist/contracts/record/pressing.d.ts +327 -0
- package/dist/contracts/record/pressing.d.ts.map +1 -0
- package/dist/contracts/record/pressing.js +345 -0
- package/dist/contracts/record/pressing.js.map +1 -0
- package/dist/contracts/record/record.d.ts +190 -0
- package/dist/contracts/record/record.d.ts.map +1 -0
- package/dist/contracts/record/record.js +226 -0
- package/dist/contracts/record/record.js.map +1 -0
- package/dist/contracts/record_shop/deps/std/type_name.d.ts +18 -0
- package/dist/contracts/record_shop/deps/std/type_name.d.ts.map +1 -0
- package/dist/contracts/record_shop/deps/std/type_name.js +20 -0
- package/dist/contracts/record_shop/deps/std/type_name.js.map +1 -0
- package/dist/contracts/record_shop/listing.d.ts +387 -0
- package/dist/contracts/record_shop/listing.d.ts.map +1 -0
- package/dist/contracts/record_shop/listing.js +380 -0
- package/dist/contracts/record_shop/listing.js.map +1 -0
- package/dist/contracts/record_shop/witness.d.ts +7 -0
- package/dist/contracts/record_shop/witness.d.ts.map +1 -0
- package/dist/contracts/record_shop/witness.js +9 -0
- package/dist/contracts/record_shop/witness.js.map +1 -0
- package/dist/contracts/recording_advisory/recording_advisory.d.ts +194 -0
- package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -0
- package/dist/contracts/recording_advisory/recording_advisory.js +204 -0
- package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -0
- package/dist/contracts/recording_credits/deps/credit/credit.d.ts +24 -0
- package/dist/contracts/recording_credits/deps/credit/credit.d.ts.map +1 -0
- package/dist/contracts/recording_credits/deps/credit/credit.js +23 -0
- package/dist/contracts/recording_credits/deps/credit/credit.js.map +1 -0
- package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts +37 -0
- package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts.map +1 -0
- package/dist/contracts/recording_credits/deps/sui/vec_map.js +28 -0
- package/dist/contracts/recording_credits/deps/sui/vec_map.js.map +1 -0
- package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts +21 -0
- package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts.map +1 -0
- package/dist/contracts/recording_credits/deps/sui/vec_set.js +20 -0
- package/dist/contracts/recording_credits/deps/sui/vec_set.js.map +1 -0
- package/dist/contracts/recording_credits/recording_credits.d.ts +2313 -0
- package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -0
- package/dist/contracts/recording_credits/recording_credits.js +270 -0
- package/dist/contracts/recording_credits/recording_credits.js.map +1 -0
- package/dist/contracts/recording_credits/recording_party_role.d.ts +1174 -0
- package/dist/contracts/recording_credits/recording_party_role.d.ts.map +1 -0
- package/dist/contracts/recording_credits/recording_party_role.js +692 -0
- package/dist/contracts/recording_credits/recording_party_role.js.map +1 -0
- package/dist/contracts/recording_engine_session/deps/ori/confidentiality.d.ts +24 -0
- package/dist/contracts/recording_engine_session/deps/ori/confidentiality.d.ts.map +1 -0
- package/dist/contracts/recording_engine_session/deps/ori/confidentiality.js +24 -0
- package/dist/contracts/recording_engine_session/deps/ori/confidentiality.js.map +1 -0
- package/dist/contracts/recording_engine_session/deps/ori/data.d.ts +16 -0
- package/dist/contracts/recording_engine_session/deps/ori/data.d.ts.map +1 -0
- package/dist/contracts/recording_engine_session/deps/ori/data.js +12 -0
- package/dist/contracts/recording_engine_session/deps/ori/data.js.map +1 -0
- package/dist/contracts/recording_engine_session/recording_engine_session.d.ts +296 -0
- package/dist/contracts/recording_engine_session/recording_engine_session.d.ts.map +1 -0
- package/dist/contracts/recording_engine_session/recording_engine_session.js +216 -0
- package/dist/contracts/recording_engine_session/recording_engine_session.js.map +1 -0
- package/dist/contracts/recording_genre/recording_genre.d.ts +173 -0
- package/dist/contracts/recording_genre/recording_genre.d.ts.map +1 -0
- package/dist/contracts/recording_genre/recording_genre.js +170 -0
- package/dist/contracts/recording_genre/recording_genre.js.map +1 -0
- package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +6 -0
- package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -0
- package/dist/contracts/recording_language/deps/language_code/language_code.js +8 -0
- package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -0
- package/dist/contracts/recording_language/recording_language.d.ts +152 -0
- package/dist/contracts/recording_language/recording_language.d.ts.map +1 -0
- package/dist/contracts/recording_language/recording_language.js +149 -0
- package/dist/contracts/recording_language/recording_language.js.map +1 -0
- package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts +24 -0
- package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts.map +1 -0
- package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js +24 -0
- package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js.map +1 -0
- package/dist/contracts/recording_master_reference/deps/ori/data.d.ts +16 -0
- package/dist/contracts/recording_master_reference/deps/ori/data.d.ts.map +1 -0
- package/dist/contracts/recording_master_reference/deps/ori/data.js +12 -0
- package/dist/contracts/recording_master_reference/deps/ori/data.js.map +1 -0
- package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +129 -0
- package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -0
- package/dist/contracts/recording_master_reference/recording_master_reference.js +119 -0
- package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -0
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +96 -0
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -0
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +85 -0
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -0
- 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/recording_royalty_pool_plugin/witness.d.ts +6 -0
- package/dist/contracts/recording_royalty_pool_plugin/witness.d.ts.map +1 -0
- package/dist/contracts/recording_royalty_pool_plugin/witness.js +8 -0
- package/dist/contracts/recording_royalty_pool_plugin/witness.js.map +1 -0
- package/dist/contracts/recording_streaming_transcode/deps/ori/data.d.ts +8 -0
- package/dist/contracts/recording_streaming_transcode/deps/ori/data.d.ts.map +1 -0
- package/dist/contracts/recording_streaming_transcode/deps/ori/data.js +10 -0
- package/dist/contracts/recording_streaming_transcode/deps/ori/data.js.map +1 -0
- package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts +124 -0
- package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts.map +1 -0
- package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js +124 -0
- package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js.map +1 -0
- package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.d.ts +24 -0
- package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.d.ts.map +1 -0
- package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.js +24 -0
- package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.js.map +1 -0
- package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.d.ts +16 -0
- package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.d.ts.map +1 -0
- package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.js +12 -0
- package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.js.map +1 -0
- package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts +47 -0
- package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts.map +1 -0
- package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js +22 -0
- package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js.map +1 -0
- package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts +33 -0
- package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts.map +1 -0
- package/dist/contracts/release_cover_art/deps/per_track/per_track.js +32 -0
- package/dist/contracts/release_cover_art/deps/per_track/per_track.js.map +1 -0
- package/dist/contracts/release_cover_art/release_cover_art.d.ts +300 -0
- package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -0
- package/dist/contracts/release_cover_art/release_cover_art.js +168 -0
- package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -0
- package/dist/contracts/release_credits/deps/credit/credit.d.ts +24 -0
- package/dist/contracts/release_credits/deps/credit/credit.d.ts.map +1 -0
- package/dist/contracts/release_credits/deps/credit/credit.js +23 -0
- package/dist/contracts/release_credits/deps/credit/credit.js.map +1 -0
- package/dist/contracts/release_credits/deps/sui/vec_map.d.ts +37 -0
- package/dist/contracts/release_credits/deps/sui/vec_map.d.ts.map +1 -0
- package/dist/contracts/release_credits/deps/sui/vec_map.js +28 -0
- package/dist/contracts/release_credits/deps/sui/vec_map.js.map +1 -0
- package/dist/contracts/release_credits/release_credits.d.ts +142 -0
- package/dist/contracts/release_credits/release_credits.d.ts.map +1 -0
- package/dist/contracts/release_credits/release_credits.js +108 -0
- package/dist/contracts/release_credits/release_credits.js.map +1 -0
- package/dist/contracts/release_credits/release_party_role.d.ts +58 -0
- package/dist/contracts/release_credits/release_party_role.d.ts.map +1 -0
- package/dist/contracts/release_credits/release_party_role.js +66 -0
- package/dist/contracts/release_credits/release_party_role.js.map +1 -0
- package/dist/contracts/release_description/release_description.d.ts +112 -0
- package/dist/contracts/release_description/release_description.d.ts.map +1 -0
- package/dist/contracts/release_description/release_description.js +123 -0
- package/dist/contracts/release_description/release_description.js.map +1 -0
- package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +643 -0
- package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -0
- package/dist/contracts/release_dsp_link/release_dsp_link.js +555 -0
- package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -0
- package/dist/contracts/release_genre/release_genre.d.ts +145 -0
- package/dist/contracts/release_genre/release_genre.d.ts.map +1 -0
- package/dist/contracts/release_genre/release_genre.js +154 -0
- package/dist/contracts/release_genre/release_genre.js.map +1 -0
- package/dist/contracts/release_kind/release_kind.d.ts +98 -0
- package/dist/contracts/release_kind/release_kind.d.ts.map +1 -0
- package/dist/contracts/release_kind/release_kind.js +109 -0
- package/dist/contracts/release_kind/release_kind.js.map +1 -0
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +91 -0
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -0
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +92 -0
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -0
- package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts +73 -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/release_revenue_distributor_plugin/witness.d.ts +6 -0
- package/dist/contracts/release_revenue_distributor_plugin/witness.d.ts.map +1 -0
- package/dist/contracts/release_revenue_distributor_plugin/witness.js +8 -0
- package/dist/contracts/release_revenue_distributor_plugin/witness.js.map +1 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +67 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.js +50 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -0
- package/dist/contracts/routed_stake/deps/std/type_name.d.ts +18 -0
- package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -0
- package/dist/contracts/routed_stake/deps/std/type_name.js +20 -0
- package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -0
- package/dist/contracts/routed_stake/deps/sui/balance.d.ts +13 -0
- package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -0
- package/dist/contracts/routed_stake/deps/sui/balance.js +15 -0
- package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -0
- package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts +37 -0
- package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -0
- package/dist/contracts/routed_stake/deps/sui/vec_map.js +28 -0
- package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -0
- package/dist/contracts/routed_stake/routed_stake.d.ts +347 -0
- package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -0
- package/dist/contracts/routed_stake/routed_stake.js +302 -0
- package/dist/contracts/routed_stake/routed_stake.js.map +1 -0
- package/dist/contracts/royalty_pool/deps/std/type_name.d.ts +18 -0
- package/dist/contracts/royalty_pool/deps/std/type_name.d.ts.map +1 -0
- package/dist/contracts/royalty_pool/deps/std/type_name.js +20 -0
- package/dist/contracts/royalty_pool/deps/std/type_name.js.map +1 -0
- package/dist/contracts/royalty_pool/deps/sui/balance.d.ts +13 -0
- package/dist/contracts/royalty_pool/deps/sui/balance.d.ts.map +1 -0
- package/dist/contracts/royalty_pool/deps/sui/balance.js +15 -0
- package/dist/contracts/royalty_pool/deps/sui/balance.js.map +1 -0
- package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts +37 -0
- package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts.map +1 -0
- package/dist/contracts/royalty_pool/deps/sui/vec_map.js +28 -0
- package/dist/contracts/royalty_pool/deps/sui/vec_map.js.map +1 -0
- package/dist/contracts/royalty_pool/pool.d.ts +414 -0
- package/dist/contracts/royalty_pool/pool.d.ts.map +1 -0
- package/dist/contracts/royalty_pool/pool.js +409 -0
- package/dist/contracts/royalty_pool/pool.js.map +1 -0
- package/dist/contracts/royalty_pool/stake.d.ts +202 -0
- package/dist/contracts/royalty_pool/stake.d.ts.map +1 -0
- package/dist/contracts/royalty_pool/stake.js +196 -0
- package/dist/contracts/royalty_pool/stake.js.map +1 -0
- package/dist/contracts/utils/index.d.ts +104 -0
- package/dist/contracts/utils/index.d.ts.map +1 -0
- package/dist/contracts/utils/index.js +272 -0
- package/dist/contracts/utils/index.js.map +1 -0
- package/dist/contracts/vault/deps/sui/bag.d.ts +35 -0
- package/dist/contracts/vault/deps/sui/bag.d.ts.map +1 -0
- package/dist/contracts/vault/deps/sui/bag.js +37 -0
- package/dist/contracts/vault/deps/sui/bag.js.map +1 -0
- package/dist/contracts/vault/deps/sui/borrow.d.ts +20 -0
- package/dist/contracts/vault/deps/sui/borrow.d.ts.map +1 -0
- package/dist/contracts/vault/deps/sui/borrow.js +21 -0
- package/dist/contracts/vault/deps/sui/borrow.js.map +1 -0
- package/dist/contracts/vault/vault.d.ts +316 -0
- package/dist/contracts/vault/vault.d.ts.map +1 -0
- package/dist/contracts/vault/vault.js +308 -0
- package/dist/contracts/vault/vault.js.map +1 -0
- package/dist/contracts.d.ts +57 -33
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +63 -41
- package/dist/contracts.js.map +1 -1
- package/dist/cover.d.ts +4 -3
- package/dist/cover.d.ts.map +1 -1
- package/dist/cover.js +30 -19
- package/dist/cover.js.map +1 -1
- package/dist/credits.d.ts +12 -10
- package/dist/credits.d.ts.map +1 -1
- package/dist/credits.js +66 -39
- package/dist/credits.js.map +1 -1
- package/dist/deployments.d.ts +122 -74
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +239 -58
- package/dist/deployments.js.map +1 -1
- package/dist/errors.d.ts +91 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +111 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +1045 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +116 -0
- package/dist/events.js.map +1 -0
- package/dist/execute.d.ts +5 -3
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +11 -6
- package/dist/execute.js.map +1 -1
- package/dist/genre.d.ts +108 -0
- package/dist/genre.d.ts.map +1 -0
- package/dist/genre.js +289 -0
- package/dist/genre.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.js +2 -2
- package/dist/internal.js.map +1 -1
- package/dist/packages.d.ts +4185 -0
- package/dist/packages.d.ts.map +1 -0
- package/dist/packages.js +190 -0
- package/dist/packages.js.map +1 -0
- package/dist/party/client.d.ts +327 -0
- package/dist/party/client.d.ts.map +1 -0
- package/dist/party/client.js +225 -0
- package/dist/party/client.js.map +1 -0
- package/dist/party/extensions/ctas.d.ts +19 -0
- package/dist/party/extensions/ctas.d.ts.map +1 -0
- package/dist/party/extensions/ctas.js +25 -0
- package/dist/party/extensions/ctas.js.map +1 -0
- package/dist/party/extensions/genres.d.ts +27 -0
- package/dist/party/extensions/genres.d.ts.map +1 -0
- package/dist/party/extensions/genres.js +31 -0
- package/dist/party/extensions/genres.js.map +1 -0
- package/dist/party/extensions/links.d.ts +66 -0
- package/dist/party/extensions/links.d.ts.map +1 -0
- package/dist/party/extensions/links.js +118 -0
- package/dist/party/extensions/links.js.map +1 -0
- package/dist/party/extensions/media.d.ts +36 -0
- package/dist/party/extensions/media.d.ts.map +1 -0
- package/dist/party/extensions/media.js +45 -0
- package/dist/party/extensions/media.js.map +1 -0
- package/dist/party/extensions/profile.d.ts +24 -0
- package/dist/party/extensions/profile.d.ts.map +1 -0
- package/dist/party/extensions/profile.js +48 -0
- package/dist/party/extensions/profile.js.map +1 -0
- package/dist/party/extensions/roles.d.ts +37 -0
- package/dist/party/extensions/roles.d.ts.map +1 -0
- package/dist/party/extensions/roles.js +46 -0
- package/dist/party/extensions/roles.js.map +1 -0
- package/dist/party/extensions/tags.d.ts +25 -0
- package/dist/party/extensions/tags.d.ts.map +1 -0
- package/dist/party/extensions/tags.js +25 -0
- package/dist/party/extensions/tags.js.map +1 -0
- package/dist/party/index.d.ts +12 -0
- package/dist/party/index.d.ts.map +1 -0
- package/dist/party/index.js +18 -0
- package/dist/party/index.js.map +1 -0
- package/dist/party/internal.d.ts +14 -0
- package/dist/party/internal.d.ts.map +1 -0
- package/dist/party/internal.js +89 -0
- package/dist/party/internal.js.map +1 -0
- package/dist/party/queries.d.ts +18 -0
- package/dist/party/queries.d.ts.map +1 -0
- package/dist/party/queries.js +124 -0
- package/dist/party/queries.js.map +1 -0
- package/dist/party/types.d.ts +54 -0
- package/dist/party/types.d.ts.map +1 -0
- package/dist/party/types.js +85 -0
- package/dist/party/types.js.map +1 -0
- package/dist/pressing.d.ts +55 -35
- package/dist/pressing.d.ts.map +1 -1
- package/dist/pressing.js +102 -79
- package/dist/pressing.js.map +1 -1
- package/dist/publication.d.ts +4 -8
- package/dist/publication.d.ts.map +1 -1
- package/dist/publication.js +53 -40
- package/dist/publication.js.map +1 -1
- package/dist/queries.d.ts +1 -1
- package/dist/queries.d.ts.map +1 -1
- package/dist/queries.js +5 -4
- package/dist/queries.js.map +1 -1
- package/dist/read/artist.d.ts +6 -4
- package/dist/read/artist.d.ts.map +1 -1
- package/dist/read/artist.js +29 -27
- package/dist/read/artist.js.map +1 -1
- package/dist/read/catalog.d.ts +21 -18
- package/dist/read/catalog.d.ts.map +1 -1
- package/dist/read/catalog.js +120 -141
- package/dist/read/catalog.js.map +1 -1
- package/dist/read/client.d.ts +15 -11
- package/dist/read/client.d.ts.map +1 -1
- package/dist/read/client.js +5 -1
- package/dist/read/client.js.map +1 -1
- package/dist/read/config.d.ts +7 -2
- package/dist/read/config.d.ts.map +1 -1
- package/dist/read/config.js +2 -0
- package/dist/read/config.js.map +1 -1
- package/dist/read/genres.d.ts +5 -3
- package/dist/read/genres.d.ts.map +1 -1
- package/dist/read/genres.js +18 -15
- package/dist/read/genres.js.map +1 -1
- package/dist/read/index.d.ts.map +1 -1
- package/dist/read/index.js +8 -2
- package/dist/read/index.js.map +1 -1
- package/dist/read/receipts.d.ts +15 -6
- package/dist/read/receipts.d.ts.map +1 -1
- package/dist/read/receipts.js +76 -63
- package/dist/read/receipts.js.map +1 -1
- package/dist/read/types.d.ts +1 -1
- package/dist/read/types.d.ts.map +1 -1
- package/dist/read/wallet.d.ts +12 -10
- package/dist/read/wallet.d.ts.map +1 -1
- package/dist/read/wallet.js +122 -136
- package/dist/read/wallet.js.map +1 -1
- package/dist/read/works.d.ts +9 -16
- package/dist/read/works.d.ts.map +1 -1
- package/dist/read/works.js +48 -117
- package/dist/read/works.js.map +1 -1
- package/dist/recording-extensions.d.ts +8 -7
- package/dist/recording-extensions.d.ts.map +1 -1
- package/dist/recording-extensions.js +36 -69
- package/dist/recording-extensions.js.map +1 -1
- package/dist/release-extensions.d.ts +3 -20
- package/dist/release-extensions.d.ts.map +1 -1
- package/dist/release-extensions.js +13 -59
- package/dist/release-extensions.js.map +1 -1
- package/dist/release-graph.js +2 -2
- package/dist/release-graph.js.map +1 -1
- package/dist/royalty.d.ts +87 -0
- package/dist/royalty.d.ts.map +1 -0
- package/dist/royalty.js +160 -0
- package/dist/royalty.js.map +1 -0
- package/dist/share.d.ts +7 -6
- package/dist/share.d.ts.map +1 -1
- package/dist/share.js +38 -31
- package/dist/share.js.map +1 -1
- package/dist/transactions.d.ts +2 -2
- package/dist/transactions.d.ts.map +1 -1
- package/dist/transactions.js +6 -6
- package/dist/transactions.js.map +1 -1
- package/dist/vault.d.ts +20 -8
- package/dist/vault.d.ts.map +1 -1
- package/dist/vault.js +37 -21
- package/dist/vault.js.map +1 -1
- package/package.json +31 -10
- package/src/auth.ts +89 -70
- package/src/catalog.ts +35 -51
- package/src/client.ts +220 -141
- package/src/contracts/composition_credits/composition_credits.ts +170 -0
- package/src/contracts/composition_credits/composition_party_role.ts +190 -0
- package/src/contracts/composition_credits/deps/credit/credit.ts +28 -0
- package/src/contracts/composition_credits/deps/sui/vec_map.ts +34 -0
- package/src/contracts/composition_routed_stake/composition_routed_stake.ts +239 -0
- package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +154 -0
- package/src/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.ts +165 -0
- package/src/contracts/composition_royalty_pool_plugin/witness.ts +8 -0
- package/src/contracts/cover_art/cover_art.ts +98 -0
- package/src/contracts/cover_art/deps/ori/confidentiality.ts +24 -0
- package/src/contracts/cover_art/deps/ori/data.ts +12 -0
- package/src/contracts/genre/genre.ts +121 -0
- package/src/contracts/party_cta/party_cta.ts +213 -0
- package/src/contracts/party_genre/party_genre.ts +200 -0
- package/src/contracts/party_media/party_media.ts +142 -0
- package/src/contracts/party_music/party_music.ts +406 -0
- package/src/contracts/party_platform_link/party_platform_link.ts +149 -0
- package/src/contracts/party_pro_link/party_pro_link.ts +454 -0
- package/src/contracts/party_profile/deps/country_code/country_code.ts +20 -0
- package/src/contracts/party_profile/deps/language_code/language_code.ts +8 -0
- package/src/contracts/party_profile/party_profile.ts +240 -0
- package/src/contracts/party_roles/party_roles.ts +364 -0
- package/src/contracts/party_social/party_social.ts +503 -0
- package/src/contracts/party_tags/party_tags.ts +199 -0
- package/src/contracts/party_wallet/party_wallet.ts +174 -0
- package/src/contracts/record/deps/std/type_name.ts +23 -0
- package/src/contracts/record/deps/sui/vec_set.ts +22 -0
- package/src/contracts/record/pressing.ts +523 -0
- package/src/contracts/record/record.ts +339 -0
- package/src/contracts/record_shop/deps/std/type_name.ts +23 -0
- package/src/contracts/record_shop/listing.ts +603 -0
- package/src/contracts/record_shop/witness.ts +12 -0
- package/src/contracts/recording_advisory/recording_advisory.ts +316 -0
- package/src/contracts/recording_credits/deps/credit/credit.ts +28 -0
- package/src/contracts/recording_credits/deps/sui/vec_map.ts +34 -0
- package/src/contracts/recording_credits/deps/sui/vec_set.ts +22 -0
- package/src/contracts/recording_credits/recording_credits.ts +459 -0
- package/src/contracts/recording_credits/recording_party_role.ts +1042 -0
- package/src/contracts/recording_engine_session/deps/ori/confidentiality.ts +24 -0
- package/src/contracts/recording_engine_session/deps/ori/data.ts +12 -0
- package/src/contracts/recording_engine_session/recording_engine_session.ts +335 -0
- package/src/contracts/recording_genre/recording_genre.ts +235 -0
- package/src/contracts/recording_language/deps/language_code/language_code.ts +8 -0
- package/src/contracts/recording_language/recording_language.ts +238 -0
- package/src/contracts/recording_master_reference/deps/ori/confidentiality.ts +24 -0
- package/src/contracts/recording_master_reference/deps/ori/data.ts +12 -0
- package/src/contracts/recording_master_reference/recording_master_reference.ts +180 -0
- package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +157 -0
- package/src/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.ts +167 -0
- package/src/contracts/recording_royalty_pool_plugin/witness.ts +8 -0
- package/src/contracts/recording_streaming_transcode/deps/ori/data.ts +10 -0
- package/src/contracts/recording_streaming_transcode/recording_streaming_transcode.ts +203 -0
- package/src/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.ts +24 -0
- package/src/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.ts +12 -0
- package/src/contracts/release_cover_art/deps/cover_art/cover_art.ts +25 -0
- package/src/contracts/release_cover_art/deps/per_track/per_track.ts +37 -0
- package/src/contracts/release_cover_art/release_cover_art.ts +252 -0
- package/src/contracts/release_credits/deps/credit/credit.ts +28 -0
- package/src/contracts/release_credits/deps/sui/vec_map.ts +34 -0
- package/src/contracts/release_credits/release_credits.ts +157 -0
- package/src/contracts/release_credits/release_party_role.ts +87 -0
- package/src/contracts/release_description/release_description.ts +168 -0
- package/src/contracts/release_dsp_link/release_dsp_link.ts +813 -0
- package/src/contracts/release_genre/release_genre.ts +203 -0
- package/src/contracts/release_kind/release_kind.ts +154 -0
- package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +141 -0
- package/src/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.ts +143 -0
- package/src/contracts/release_revenue_distributor_plugin/witness.ts +8 -0
- package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +53 -0
- package/src/contracts/routed_stake/deps/std/type_name.ts +23 -0
- package/src/contracts/routed_stake/deps/sui/balance.ts +18 -0
- package/src/contracts/routed_stake/deps/sui/vec_map.ts +34 -0
- package/src/contracts/routed_stake/routed_stake.ts +487 -0
- package/src/contracts/royalty_pool/deps/std/type_name.ts +23 -0
- package/src/contracts/royalty_pool/deps/sui/balance.ts +18 -0
- package/src/contracts/royalty_pool/deps/sui/vec_map.ts +34 -0
- package/src/contracts/royalty_pool/pool.ts +634 -0
- package/src/contracts/royalty_pool/stake.ts +305 -0
- package/src/contracts/utils/index.ts +428 -0
- package/src/contracts/vault/deps/sui/bag.ts +40 -0
- package/src/contracts/vault/deps/sui/borrow.ts +26 -0
- package/src/contracts/vault/vault.ts +509 -0
- package/src/contracts.ts +86 -39
- package/src/cover.ts +19 -28
- package/src/credits.ts +49 -81
- package/src/deployments.ts +321 -73
- package/src/errors.ts +156 -0
- package/src/events.ts +121 -0
- package/src/execute.ts +13 -9
- package/src/genre.ts +384 -0
- package/src/index.ts +10 -1
- package/src/internal.ts +2 -2
- package/src/packages.ts +243 -0
- package/src/party/client.ts +280 -0
- package/src/party/extensions/ctas.ts +46 -0
- package/src/party/extensions/genres.ts +62 -0
- package/src/party/extensions/links.ts +186 -0
- package/src/party/extensions/media.ts +72 -0
- package/src/party/extensions/profile.ts +81 -0
- package/src/party/extensions/roles.ts +94 -0
- package/src/party/extensions/tags.ts +54 -0
- package/src/party/index.ts +40 -0
- package/src/party/internal.ts +102 -0
- package/src/party/queries.ts +175 -0
- package/src/party/types.ts +88 -0
- package/src/pressing.ts +163 -166
- package/src/publication.ts +58 -45
- package/src/queries.ts +5 -5
- package/src/read/artist.ts +47 -42
- package/src/read/catalog.ts +201 -224
- package/src/read/client.ts +20 -13
- package/src/read/config.ts +9 -2
- package/src/read/genres.ts +24 -16
- package/src/read/index.ts +8 -2
- package/src/read/receipts.ts +131 -70
- package/src/read/types.ts +1 -1
- package/src/read/wallet.ts +199 -166
- package/src/read/works.ts +76 -195
- package/src/recording-extensions.ts +44 -98
- package/src/release-extensions.ts +11 -87
- package/src/release-graph.ts +2 -2
- package/src/royalty.ts +264 -0
- package/src/share.ts +45 -30
- package/src/transactions.ts +6 -6
- package/src/vault.ts +53 -30
package/dist/read/wallet.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { SuiClient, SuiGraphQL, SuiRpcError, type BcsDecodeError, type ObjectNotFoundError, type ObjectTypeMismatchError } from "@misofm/effect";
|
|
3
|
+
import type { MisoConfig } from "./config.ts";
|
|
2
4
|
import type { Balance, OwnedParty, OwnedRecord, OwnedWork, Ownership, PendingMembership, WorkDetail } from "./types.ts";
|
|
3
5
|
type WorkAdminCapType = {
|
|
4
6
|
kind: "composition";
|
|
@@ -13,18 +15,18 @@ type WorkAdminCapType = {
|
|
|
13
15
|
export declare function classifyVaultedWorkAdminCapType(type: string, vaultPackageId: string, misoPackageId: string): WorkAdminCapType | null;
|
|
14
16
|
/**
|
|
15
17
|
* The records `owner` holds. Ownership is DIRECT — a record is an address-owned
|
|
16
|
-
* `<
|
|
18
|
+
* `<record>::record::Record` with no pressing/license/receipt intermediary.
|
|
17
19
|
* The server-side type filter and exact local check deliberately exclude records
|
|
18
20
|
* from any retired package namespace.
|
|
19
21
|
*/
|
|
20
|
-
export declare
|
|
22
|
+
export declare const getOwnedRecords: (owner: string, config: MisoConfig) => Effect.Effect<OwnedRecord[], SuiRpcError, SuiClient>;
|
|
21
23
|
/**
|
|
22
24
|
* The parties `owner` administers. A wallet "owns" a party iff it holds the
|
|
23
25
|
* party's `PartyAdminCap`, so this is one owned-objects listing filtered to the
|
|
24
26
|
* cap type plus a name resolve. Caps are transferable, which is why this is
|
|
25
27
|
* authoritative in a way that remembering created parties client-side is not.
|
|
26
28
|
*/
|
|
27
|
-
export declare
|
|
29
|
+
export declare const getOwnedParties: (owner: string, config: MisoConfig) => Effect.Effect<OwnedParty[], BcsDecodeError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
|
|
28
30
|
/**
|
|
29
31
|
* Pending group invitations for every individual party the wallet administers.
|
|
30
32
|
*
|
|
@@ -33,7 +35,7 @@ export declare function getOwnedParties(client: MisoClient, owner: string): Prom
|
|
|
33
35
|
* names are resolved in one batch so the API can render an inbox without extra
|
|
34
36
|
* browser reads.
|
|
35
37
|
*/
|
|
36
|
-
export declare
|
|
38
|
+
export declare const getPendingMemberships: (owner: string, config: MisoConfig) => Effect.Effect<PendingMembership[], BcsDecodeError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
|
|
37
39
|
/**
|
|
38
40
|
* Every work the wallet administers, keyed by its ADMIN CAP id (the studio
|
|
39
41
|
* catalog's routing unit — caps are what control means here).
|
|
@@ -44,15 +46,15 @@ export declare function getPendingMemberships(client: MisoClient, owner: string)
|
|
|
44
46
|
* the GraphQL hop entirely — `ReleaseAdminCap` is not generic and carries
|
|
45
47
|
* `release_id` directly.
|
|
46
48
|
*/
|
|
47
|
-
export declare
|
|
49
|
+
export declare const getOwnedWorks: (owner: string, config: MisoConfig) => Effect.Effect<OwnedWork[], BcsDecodeError | SuiRpcError, SuiClient | SuiGraphQL>;
|
|
48
50
|
/** Classify a direct or vaulted cap by its on-chain type, then resolve its work. */
|
|
49
|
-
export declare
|
|
51
|
+
export declare const getWorkByCap: (capId: string, config: MisoConfig) => Effect.Effect<WorkDetail | null, BcsDecodeError | ObjectNotFoundError | SuiRpcError, SuiClient | SuiGraphQL>;
|
|
50
52
|
/**
|
|
51
53
|
* A wallet's balance in one currency. Keep the aggregate and both Sui storage
|
|
52
54
|
* classes: callers using a `FundsWithdrawal` must never mistake coin-object
|
|
53
55
|
* value for immediately withdrawable address balance.
|
|
54
56
|
*/
|
|
55
|
-
export declare
|
|
57
|
+
export declare const getBalance: (address: string, config: MisoConfig, coinType?: string | undefined) => Effect.Effect<Balance, SuiRpcError, SuiClient>;
|
|
56
58
|
/**
|
|
57
59
|
* Whether `address` controls a party — i.e. holds its `PartyAdminCap`. The cap is
|
|
58
60
|
* a DERIVED object of the party, so this is one `getObject` on a computed id, no
|
|
@@ -62,13 +64,13 @@ export declare function getBalance(client: MisoClient, address: string, coinType
|
|
|
62
64
|
* A failed read means "can't confirm", which resolves to `false` — the editor
|
|
63
65
|
* stays hidden rather than being offered and then rejected on submit.
|
|
64
66
|
*/
|
|
65
|
-
export declare
|
|
67
|
+
export declare const ownsParty: (address: string, partyId: string, config: MisoConfig) => Effect.Effect<Ownership, never, SuiClient>;
|
|
66
68
|
/**
|
|
67
69
|
* Whether `address` owns a record. Records are address-owned objects, so this is
|
|
68
70
|
* one `getObject` and an owner compare. Presentation gating only — it decides
|
|
69
71
|
* whether the Snapshots tab appears, and a non-owner has no snapshot content to
|
|
70
72
|
* fetch regardless.
|
|
71
73
|
*/
|
|
72
|
-
export declare
|
|
74
|
+
export declare const ownsRecord: (address: string, recordId: string) => Effect.Effect<Ownership, never, SuiClient>;
|
|
73
75
|
export {};
|
|
74
76
|
//# sourceMappingURL=wallet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/read/wallet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/read/wallet.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAUxC,OAAO,EAGL,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAC;AAUpB,KAAK,gBAAgB,GACjB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAsDxB,mFAAmF;AACnF,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,gBAAgB,GAAG,IAAI,CAmBzB;AA4DD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,6FA0C1B,CAAC;AAIH;;;;;GAKG;AACH,eAAO,MAAM,eAAe,uIA4B1B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,8IA0BhC,CAAC;AA8GH;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,yHAwDxB,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,YAAY,qJAoGvB,CAAC;AAkCH;;;;GAIG;AACH,eAAO,MAAM,UAAU,wHAyBrB,CAAC;AAWH;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,sGAepB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU,mFAarB,CAAC"}
|
package/dist/read/wallet.js
CHANGED
|
@@ -10,10 +10,14 @@
|
|
|
10
10
|
// gRPC) is exactly the sort of thing that should exist once in the SDK rather
|
|
11
11
|
// than be reimplemented by every browser, Worker, server, or native client.
|
|
12
12
|
import { normalizeStructTag, normalizeSuiAddress, parseStructTag } from "@mysten/sui/utils";
|
|
13
|
-
import {
|
|
13
|
+
import { Effect, Option } from "effect";
|
|
14
|
+
import { contracts as networkContracts, getCompositionByShareType, getOwnedReleaseAdminCaps, getRecordingByShareType, getReleaseById, } from "@misofm/musicos";
|
|
15
|
+
import { party as partyContracts } from "@misofm/partyos/contracts";
|
|
16
|
+
import { derivePartyAdminCapId, getPartiesByIds, getPendingMemberships as getPartyPendingMemberships } from "@misofm/partyos";
|
|
17
|
+
import { getObjectsContent, getOptionalObjectContent, SuiClient, SuiGraphQL, SuiRpcError, } from "@misofm/effect";
|
|
14
18
|
import { int, u64 } from "./internal/scalars.js";
|
|
15
|
-
import * as vaultContract from "
|
|
16
|
-
import * as recordContract from "
|
|
19
|
+
import * as vaultContract from "../contracts/vault/vault.js";
|
|
20
|
+
import * as recordContract from "../contracts/record/record.js";
|
|
17
21
|
import { deriveRecordId } from "../pressing.js";
|
|
18
22
|
import { requireRecordSalesDeployment } from "../deployments.js";
|
|
19
23
|
import { getRecordingTitles, getWorkAddressesByShareTypes, getWorksByIds } from "./works.js";
|
|
@@ -100,27 +104,34 @@ function isCanonicalRecordType(type, recordPackageId) {
|
|
|
100
104
|
}
|
|
101
105
|
return true;
|
|
102
106
|
}
|
|
107
|
+
/** One page of `client.core.listOwnedObjects`, requesting `content` when `withContent` is set. */
|
|
108
|
+
const listOwnedObjectsPage = Effect.fn("listOwnedObjectsPage")(function* (owner, type, cursor, withContent) {
|
|
109
|
+
const client = yield* SuiClient;
|
|
110
|
+
return yield* Effect.tryPromise({
|
|
111
|
+
try: (signal) => client.core.listOwnedObjects({
|
|
112
|
+
owner,
|
|
113
|
+
type,
|
|
114
|
+
cursor,
|
|
115
|
+
limit: 50,
|
|
116
|
+
...(withContent ? { include: { content: true } } : {}),
|
|
117
|
+
signal,
|
|
118
|
+
}),
|
|
119
|
+
catch: (cause) => new SuiRpcError({ operation: "listOwnedObjects", cause }),
|
|
120
|
+
});
|
|
121
|
+
});
|
|
103
122
|
/**
|
|
104
123
|
* The records `owner` holds. Ownership is DIRECT — a record is an address-owned
|
|
105
|
-
* `<
|
|
124
|
+
* `<record>::record::Record` with no pressing/license/receipt intermediary.
|
|
106
125
|
* The server-side type filter and exact local check deliberately exclude records
|
|
107
126
|
* from any retired package namespace.
|
|
108
127
|
*/
|
|
109
|
-
export
|
|
128
|
+
export const getOwnedRecords = Effect.fn("getOwnedRecords")(function* (owner, config) {
|
|
110
129
|
const out = [];
|
|
111
130
|
let cursor = null;
|
|
112
|
-
const sales = requireRecordSalesDeployment(
|
|
131
|
+
const sales = requireRecordSalesDeployment(config.recordSales);
|
|
113
132
|
const recordType = `${sales.recordPackageId}::record::Record`;
|
|
114
133
|
for (let page = 0; page < MAX_PAGES; page++) {
|
|
115
|
-
|
|
116
|
-
// TypeScript reads as a circular initializer without an explicit type.
|
|
117
|
-
const res = await client.protocol.core.listOwnedObjects({
|
|
118
|
-
owner,
|
|
119
|
-
type: recordType,
|
|
120
|
-
cursor,
|
|
121
|
-
limit: 50,
|
|
122
|
-
include: { content: true },
|
|
123
|
-
});
|
|
134
|
+
const res = (yield* listOwnedObjectsPage(owner, recordType, cursor, true));
|
|
124
135
|
for (const obj of res.objects) {
|
|
125
136
|
if (!isCanonicalRecordType(obj.type, sales.recordPackageId)) {
|
|
126
137
|
continue;
|
|
@@ -155,7 +166,7 @@ export async function getOwnedRecords(client, owner) {
|
|
|
155
166
|
break;
|
|
156
167
|
}
|
|
157
168
|
return out;
|
|
158
|
-
}
|
|
169
|
+
});
|
|
159
170
|
// ── Parties ──────────────────────────────────────────────────────────────────
|
|
160
171
|
/**
|
|
161
172
|
* The parties `owner` administers. A wallet "owns" a party iff it holds the
|
|
@@ -163,19 +174,14 @@ export async function getOwnedRecords(client, owner) {
|
|
|
163
174
|
* cap type plus a name resolve. Caps are transferable, which is why this is
|
|
164
175
|
* authoritative in a way that remembering created parties client-side is not.
|
|
165
176
|
*/
|
|
166
|
-
export
|
|
167
|
-
const capType = `${
|
|
177
|
+
export const getOwnedParties = Effect.fn("getOwnedParties")(function* (owner, config) {
|
|
178
|
+
const capType = `${config.partyos.partyos}::party::PartyAdminCap`;
|
|
168
179
|
// One page of 50 caps is plenty for launch-scale artists; paginate if labels
|
|
169
180
|
// ever start hitting the cap.
|
|
170
|
-
const { objects } =
|
|
171
|
-
owner,
|
|
172
|
-
type: capType,
|
|
173
|
-
limit: 50,
|
|
174
|
-
include: { content: true },
|
|
175
|
-
});
|
|
181
|
+
const { objects } = yield* listOwnedObjectsPage(owner, capType, null, true);
|
|
176
182
|
const caps = objects.flatMap((obj) => {
|
|
177
183
|
try {
|
|
178
|
-
const cap =
|
|
184
|
+
const cap = partyContracts.PartyAdminCap.parse(obj.content);
|
|
179
185
|
return [{ capId: obj.objectId, partyId: cap.party_id }];
|
|
180
186
|
}
|
|
181
187
|
catch {
|
|
@@ -184,12 +190,12 @@ export async function getOwnedParties(client, owner) {
|
|
|
184
190
|
});
|
|
185
191
|
if (caps.length === 0)
|
|
186
192
|
return [];
|
|
187
|
-
const parties =
|
|
193
|
+
const parties = yield* getPartiesByIds(caps.map((c) => c.partyId), config.partyos.partyos);
|
|
188
194
|
return caps.flatMap(({ capId, partyId }) => {
|
|
189
195
|
const p = parties[partyId];
|
|
190
196
|
return p ? [{ partyId, capId, name: p.name, kind: p.kind }] : [];
|
|
191
197
|
});
|
|
192
|
-
}
|
|
198
|
+
});
|
|
193
199
|
/**
|
|
194
200
|
* Pending group invitations for every individual party the wallet administers.
|
|
195
201
|
*
|
|
@@ -198,26 +204,23 @@ export async function getOwnedParties(client, owner) {
|
|
|
198
204
|
* names are resolved in one batch so the API can render an inbox without extra
|
|
199
205
|
* browser reads.
|
|
200
206
|
*/
|
|
201
|
-
export
|
|
202
|
-
const controlled =
|
|
207
|
+
export const getPendingMemberships = Effect.fn("getPendingMemberships")(function* (owner, config) {
|
|
208
|
+
const controlled = yield* getOwnedParties(owner, config);
|
|
203
209
|
const individuals = controlled.filter((party) => party.kind === "individual");
|
|
204
210
|
if (individuals.length === 0)
|
|
205
211
|
return [];
|
|
206
|
-
const invitations =
|
|
207
|
-
member,
|
|
208
|
-
groupIds: await client.sui.miso.party.getPendingMemberships(member.partyId),
|
|
209
|
-
})));
|
|
212
|
+
const invitations = yield* Effect.forEach(individuals, (member) => getPartyPendingMemberships(member.partyId).pipe(Effect.map((groupIds) => ({ member, groupIds }))), { concurrency: "unbounded" });
|
|
210
213
|
const groupIds = [...new Set(invitations.flatMap(({ groupIds }) => groupIds))];
|
|
211
214
|
if (groupIds.length === 0)
|
|
212
215
|
return [];
|
|
213
|
-
const groups =
|
|
216
|
+
const groups = yield* getPartiesByIds(groupIds, config.partyos.partyos);
|
|
214
217
|
return invitations.flatMap(({ member, groupIds }) => groupIds.flatMap((groupId) => {
|
|
215
218
|
const group = groups[groupId];
|
|
216
219
|
return group?.kind === "group"
|
|
217
220
|
? [{ memberPartyId: member.partyId, memberCapId: member.capId, groupId, groupName: group.name }]
|
|
218
221
|
: [];
|
|
219
222
|
}));
|
|
220
|
-
}
|
|
223
|
+
});
|
|
221
224
|
// ── Works (studio catalog) ───────────────────────────────────────────────────
|
|
222
225
|
/**
|
|
223
226
|
* Owned generic admin caps over gRPC. The bare type filter matches every
|
|
@@ -225,11 +228,11 @@ export async function getPendingMemberships(client, owner) {
|
|
|
225
228
|
* type `T` is parsed back out of each instance's type tag, because the cap does
|
|
226
229
|
* not store the work's id — only its share type.
|
|
227
230
|
*/
|
|
228
|
-
|
|
231
|
+
const ownedGenericCaps = Effect.fn("ownedGenericCaps")(function* (owner, capType) {
|
|
229
232
|
const caps = [];
|
|
230
233
|
let cursor = null;
|
|
231
234
|
for (let page = 0; page < MAX_PAGES; page++) {
|
|
232
|
-
const res =
|
|
235
|
+
const res = (yield* listOwnedObjectsPage(owner, capType, cursor, false));
|
|
233
236
|
for (const obj of res.objects) {
|
|
234
237
|
const match = /<(.+)>$/.exec(obj.type);
|
|
235
238
|
if (match?.[1])
|
|
@@ -242,26 +245,20 @@ async function ownedGenericCaps(client, owner, capType) {
|
|
|
242
245
|
break;
|
|
243
246
|
}
|
|
244
247
|
return caps;
|
|
245
|
-
}
|
|
248
|
+
});
|
|
246
249
|
/**
|
|
247
250
|
* Discover owner-held VaultAdminCaps whose wrapped capability administers a
|
|
248
251
|
* catalog work. PressingAdminCap is deliberately ignored: Catalog is a work
|
|
249
252
|
* surface (composition / recording / release), not a sale-management surface.
|
|
250
253
|
*/
|
|
251
|
-
|
|
254
|
+
const ownedVaultedWorkCaps = Effect.fn("ownedVaultedWorkCaps")(function* (owner, config) {
|
|
252
255
|
const out = { compositions: [], recordings: [], releases: [] };
|
|
253
|
-
const vaultPackageId =
|
|
254
|
-
const misoPackageId =
|
|
256
|
+
const vaultPackageId = config.protocol.vault;
|
|
257
|
+
const misoPackageId = config.deployment.musicos;
|
|
255
258
|
const capType = `${vaultPackageId}::vault::VaultAdminCap`;
|
|
256
259
|
let cursor = null;
|
|
257
260
|
for (let page = 0; page < MAX_PAGES; page++) {
|
|
258
|
-
const res =
|
|
259
|
-
owner,
|
|
260
|
-
type: capType,
|
|
261
|
-
cursor,
|
|
262
|
-
limit: 50,
|
|
263
|
-
include: { content: true },
|
|
264
|
-
});
|
|
261
|
+
const res = (yield* listOwnedObjectsPage(owner, capType, cursor, true));
|
|
265
262
|
for (const object of res.objects) {
|
|
266
263
|
if (!object.content)
|
|
267
264
|
continue;
|
|
@@ -292,28 +289,23 @@ async function ownedVaultedWorkCaps(client, owner) {
|
|
|
292
289
|
break;
|
|
293
290
|
}
|
|
294
291
|
return out;
|
|
295
|
-
}
|
|
292
|
+
});
|
|
296
293
|
/** Read the ReleaseAdminCap wrapped by each shared release vault. */
|
|
297
|
-
|
|
294
|
+
const resolveVaultedReleaseCaps = Effect.fn("resolveVaultedReleaseCaps")(function* (caps, config) {
|
|
298
295
|
if (caps.length === 0)
|
|
299
296
|
return [];
|
|
300
|
-
const releaseCapType = `${
|
|
301
|
-
const vaultType = normalizeStructTag(`${
|
|
302
|
-
const
|
|
303
|
-
objectIds: caps.map((cap) => cap.vaultId),
|
|
304
|
-
include: { content: true },
|
|
305
|
-
});
|
|
297
|
+
const releaseCapType = `${config.deployment.musicos}::release::ReleaseAdminCap`;
|
|
298
|
+
const vaultType = normalizeStructTag(`${config.protocol.vault}::vault::Vault<${releaseCapType}>`);
|
|
299
|
+
const contentById = yield* getObjectsContent(caps.map((cap) => cap.vaultId));
|
|
306
300
|
const releasesByVault = new Map();
|
|
307
|
-
for (const object of
|
|
308
|
-
if (object instanceof Error || !object.content)
|
|
309
|
-
continue;
|
|
301
|
+
for (const [objectId, object] of contentById) {
|
|
310
302
|
try {
|
|
311
303
|
if (normalizeStructTag(object.type) !== vaultType)
|
|
312
304
|
continue;
|
|
313
305
|
const vault = vaultContract.Vault(networkContracts.release.ReleaseAdminCap).parse(object.content);
|
|
314
306
|
const releaseId = vault.cap?.value?.release_id;
|
|
315
307
|
if (releaseId)
|
|
316
|
-
releasesByVault.set(
|
|
308
|
+
releasesByVault.set(objectId, releaseId);
|
|
317
309
|
}
|
|
318
310
|
catch {
|
|
319
311
|
// Batch catalog discovery is best-effort per authority, matching the
|
|
@@ -324,7 +316,7 @@ async function resolveVaultedReleaseCaps(client, caps) {
|
|
|
324
316
|
const releaseId = releasesByVault.get(cap.vaultId);
|
|
325
317
|
return releaseId ? [{ id: cap.id, releaseId }] : [];
|
|
326
318
|
});
|
|
327
|
-
}
|
|
319
|
+
});
|
|
328
320
|
/**
|
|
329
321
|
* Every work the wallet administers, keyed by its ADMIN CAP id (the studio
|
|
330
322
|
* catalog's routing unit — caps are what control means here).
|
|
@@ -335,25 +327,25 @@ async function resolveVaultedReleaseCaps(client, caps) {
|
|
|
335
327
|
* the GraphQL hop entirely — `ReleaseAdminCap` is not generic and carries
|
|
336
328
|
* `release_id` directly.
|
|
337
329
|
*/
|
|
338
|
-
export
|
|
339
|
-
const miso =
|
|
340
|
-
const [directCompCaps, directRecCaps, directRelCaps, vaulted] =
|
|
341
|
-
ownedGenericCaps(
|
|
342
|
-
ownedGenericCaps(
|
|
343
|
-
getOwnedReleaseAdminCaps(
|
|
344
|
-
ownedVaultedWorkCaps(
|
|
330
|
+
export const getOwnedWorks = Effect.fn("getOwnedWorks")(function* (owner, config) {
|
|
331
|
+
const miso = config.deployment.musicos;
|
|
332
|
+
const [directCompCaps, directRecCaps, directRelCaps, vaulted] = yield* Effect.all([
|
|
333
|
+
ownedGenericCaps(owner, `${miso}::composition::CompositionAdminCap`),
|
|
334
|
+
ownedGenericCaps(owner, `${miso}::recording::RecordingAdminCap`),
|
|
335
|
+
getOwnedReleaseAdminCaps(owner, miso),
|
|
336
|
+
ownedVaultedWorkCaps(owner, config),
|
|
345
337
|
]);
|
|
346
|
-
const vaultedRelCaps =
|
|
338
|
+
const vaultedRelCaps = yield* resolveVaultedReleaseCaps(vaulted.releases, config);
|
|
347
339
|
const compCaps = [...directCompCaps, ...vaulted.compositions];
|
|
348
340
|
const recCaps = [...directRecCaps, ...vaulted.recordings];
|
|
349
341
|
const relCaps = [...directRelCaps, ...vaultedRelCaps];
|
|
350
|
-
const addresses =
|
|
351
|
-
const works =
|
|
342
|
+
const addresses = yield* getWorkAddressesByShareTypes({ compositions: compCaps.map((c) => c.shareType), recordings: recCaps.map((c) => c.shareType) }, miso);
|
|
343
|
+
const works = yield* getWorksByIds({
|
|
352
344
|
compositions: Object.values(addresses.compositions).filter((id) => id !== undefined),
|
|
353
345
|
recordings: Object.values(addresses.recordings).filter((id) => id !== undefined),
|
|
354
346
|
releases: relCaps.map((c) => c.releaseId),
|
|
355
347
|
});
|
|
356
|
-
const recordingTitles =
|
|
348
|
+
const recordingTitles = yield* getRecordingTitles(Object.values(addresses.recordings).filter((id) => id !== undefined), miso);
|
|
357
349
|
const comps = compCaps.flatMap((cap) => {
|
|
358
350
|
const workId = addresses.compositions[cap.shareType];
|
|
359
351
|
const composition = workId ? works.compositions[workId] : undefined;
|
|
@@ -381,31 +373,18 @@ export async function getOwnedWorks(client, owner) {
|
|
|
381
373
|
return [{ capId: cap.id, kind: "release", workId: release.id, title: release.title, state: release.state.type }];
|
|
382
374
|
});
|
|
383
375
|
return [...comps, ...recs, ...rels];
|
|
384
|
-
}
|
|
376
|
+
});
|
|
385
377
|
/** Classify a direct or vaulted cap by its on-chain type, then resolve its work. */
|
|
386
|
-
export
|
|
387
|
-
const miso =
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
const { object } = await client.protocol.core.getObject({
|
|
393
|
-
objectId: capId,
|
|
394
|
-
include: { json: true, content: true },
|
|
395
|
-
});
|
|
396
|
-
type = object.type;
|
|
397
|
-
json = (object.json ?? null);
|
|
398
|
-
content = object.content;
|
|
399
|
-
}
|
|
400
|
-
catch (e) {
|
|
401
|
-
if (isNotFound(e))
|
|
402
|
-
return null;
|
|
403
|
-
throw e;
|
|
404
|
-
}
|
|
378
|
+
export const getWorkByCap = Effect.fn("getWorkByCap")(function* (capId, config) {
|
|
379
|
+
const miso = config.deployment.musicos;
|
|
380
|
+
const found = yield* getOptionalObjectContent(capId);
|
|
381
|
+
if (Option.isNone(found))
|
|
382
|
+
return null;
|
|
383
|
+
const { content, type } = found.value;
|
|
405
384
|
const direct = classifyWorkAdminCapType(type, miso);
|
|
406
385
|
if (direct?.kind === "composition") {
|
|
407
386
|
const { shareType } = direct;
|
|
408
|
-
const c =
|
|
387
|
+
const c = yield* getCompositionByShareType(shareType, miso);
|
|
409
388
|
return {
|
|
410
389
|
capId,
|
|
411
390
|
kind: "composition",
|
|
@@ -418,8 +397,8 @@ export async function getWorkByCap(client, capId) {
|
|
|
418
397
|
}
|
|
419
398
|
if (direct?.kind === "recording") {
|
|
420
399
|
const { shareType } = direct;
|
|
421
|
-
const r =
|
|
422
|
-
const titles =
|
|
400
|
+
const r = yield* getRecordingByShareType(shareType, miso);
|
|
401
|
+
const titles = yield* getRecordingTitles([r.id], miso);
|
|
423
402
|
return {
|
|
424
403
|
capId,
|
|
425
404
|
kind: "recording",
|
|
@@ -430,10 +409,9 @@ export async function getWorkByCap(client, capId) {
|
|
|
430
409
|
};
|
|
431
410
|
}
|
|
432
411
|
if (direct?.kind === "release") {
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
const r = await getReleaseById(client.protocol, releaseId);
|
|
412
|
+
// `ReleaseAdminCap`'s BCS carries `release_id` directly — no `json` include needed.
|
|
413
|
+
const { release_id: releaseId } = networkContracts.release.ReleaseAdminCap.parse(content);
|
|
414
|
+
const r = yield* getReleaseById(releaseId);
|
|
437
415
|
return {
|
|
438
416
|
capId,
|
|
439
417
|
kind: "release",
|
|
@@ -444,15 +422,15 @@ export async function getWorkByCap(client, capId) {
|
|
|
444
422
|
trackCount: r.tracks.length,
|
|
445
423
|
};
|
|
446
424
|
}
|
|
447
|
-
const vaulted = classifyVaultedWorkAdminCapType(type,
|
|
448
|
-
if (!vaulted
|
|
425
|
+
const vaulted = classifyVaultedWorkAdminCapType(type, config.protocol.vault, miso);
|
|
426
|
+
if (!vaulted) {
|
|
449
427
|
// A real object, but not a supported work authority — "no such work",
|
|
450
428
|
// not a transport failure. PressingAdminCap intentionally lands here.
|
|
451
429
|
return null;
|
|
452
430
|
}
|
|
453
431
|
const { vault_id: vaultId } = vaultContract.VaultAdminCap.parse(content);
|
|
454
432
|
if (vaulted.kind === "composition") {
|
|
455
|
-
const c =
|
|
433
|
+
const c = yield* getCompositionByShareType(vaulted.shareType, miso);
|
|
456
434
|
return {
|
|
457
435
|
capId,
|
|
458
436
|
kind: "composition",
|
|
@@ -464,8 +442,8 @@ export async function getWorkByCap(client, capId) {
|
|
|
464
442
|
};
|
|
465
443
|
}
|
|
466
444
|
if (vaulted.kind === "recording") {
|
|
467
|
-
const r =
|
|
468
|
-
const titles =
|
|
445
|
+
const r = yield* getRecordingByShareType(vaulted.shareType, miso);
|
|
446
|
+
const titles = yield* getRecordingTitles([r.id], miso);
|
|
469
447
|
return {
|
|
470
448
|
capId,
|
|
471
449
|
kind: "recording",
|
|
@@ -475,10 +453,10 @@ export async function getWorkByCap(client, capId) {
|
|
|
475
453
|
shareType: vaulted.shareType,
|
|
476
454
|
};
|
|
477
455
|
}
|
|
478
|
-
const [releaseCap] =
|
|
456
|
+
const [releaseCap] = yield* resolveVaultedReleaseCaps([{ id: capId, vaultId }], config);
|
|
479
457
|
if (!releaseCap)
|
|
480
458
|
throw new Error(`Release vault ${vaultId} carries no release admin cap`);
|
|
481
|
-
const r =
|
|
459
|
+
const r = yield* getReleaseById(releaseCap.releaseId);
|
|
482
460
|
return {
|
|
483
461
|
capId,
|
|
484
462
|
kind: "release",
|
|
@@ -488,12 +466,14 @@ export async function getWorkByCap(client, capId) {
|
|
|
488
466
|
discCount: r.tracks.length > 0 ? 1 : 0,
|
|
489
467
|
trackCount: r.tracks.length,
|
|
490
468
|
};
|
|
491
|
-
}
|
|
469
|
+
});
|
|
492
470
|
// ── Balance ──────────────────────────────────────────────────────────────────
|
|
493
471
|
const decimalsByClient = new WeakMap();
|
|
494
|
-
/**
|
|
495
|
-
*
|
|
496
|
-
|
|
472
|
+
/**
|
|
473
|
+
* Resolve once per (transport client, coin type). Failed lookups are evicted so
|
|
474
|
+
* a transient fullnode error cannot poison a long-lived API worker.
|
|
475
|
+
*/
|
|
476
|
+
function coinDecimalsPromise(client, coinType) {
|
|
497
477
|
let cache = decimalsByClient.get(client);
|
|
498
478
|
if (!cache) {
|
|
499
479
|
cache = new Map();
|
|
@@ -503,7 +483,7 @@ async function coinDecimals(client, coinType) {
|
|
|
503
483
|
const cached = cache.get(key);
|
|
504
484
|
if (cached)
|
|
505
485
|
return cached;
|
|
506
|
-
const pending = client.
|
|
486
|
+
const pending = client.core.getCoinMetadata({ coinType: key }).then(({ coinMetadata }) => {
|
|
507
487
|
const decimals = coinMetadata?.decimals;
|
|
508
488
|
if (!Number.isSafeInteger(decimals) || decimals < 0 || decimals > 18) {
|
|
509
489
|
throw new Error(`Coin metadata for ${key} has no supported decimal precision`);
|
|
@@ -511,25 +491,29 @@ async function coinDecimals(client, coinType) {
|
|
|
511
491
|
return decimals;
|
|
512
492
|
});
|
|
513
493
|
cache.set(key, pending);
|
|
514
|
-
|
|
515
|
-
return await pending;
|
|
516
|
-
}
|
|
517
|
-
catch (error) {
|
|
494
|
+
pending.catch(() => {
|
|
518
495
|
if (cache.get(key) === pending)
|
|
519
496
|
cache.delete(key);
|
|
520
|
-
|
|
521
|
-
|
|
497
|
+
});
|
|
498
|
+
return pending;
|
|
522
499
|
}
|
|
523
500
|
/**
|
|
524
501
|
* A wallet's balance in one currency. Keep the aggregate and both Sui storage
|
|
525
502
|
* classes: callers using a `FundsWithdrawal` must never mistake coin-object
|
|
526
503
|
* value for immediately withdrawable address balance.
|
|
527
504
|
*/
|
|
528
|
-
export
|
|
529
|
-
const
|
|
530
|
-
const
|
|
531
|
-
|
|
532
|
-
|
|
505
|
+
export const getBalance = Effect.fn("getBalance")(function* (address, config, coinType) {
|
|
506
|
+
const client = yield* SuiClient;
|
|
507
|
+
const type = coinType ?? config.money.usdCoinType;
|
|
508
|
+
const [res, decimals] = yield* Effect.all([
|
|
509
|
+
Effect.tryPromise({
|
|
510
|
+
try: (signal) => client.core.getBalance({ owner: address, coinType: type, signal }),
|
|
511
|
+
catch: (cause) => new SuiRpcError({ operation: "getBalance", cause }),
|
|
512
|
+
}),
|
|
513
|
+
Effect.tryPromise({
|
|
514
|
+
try: () => coinDecimalsPromise(client, type),
|
|
515
|
+
catch: (cause) => new SuiRpcError({ operation: "getCoinMetadata", cause }),
|
|
516
|
+
}),
|
|
533
517
|
]);
|
|
534
518
|
return {
|
|
535
519
|
address: normalizeSuiAddress(address),
|
|
@@ -539,7 +523,7 @@ export async function getBalance(client, address, coinType) {
|
|
|
539
523
|
addressBalance: u64(res.balance.addressBalance),
|
|
540
524
|
decimals,
|
|
541
525
|
};
|
|
542
|
-
}
|
|
526
|
+
});
|
|
543
527
|
// ── Ownership ────────────────────────────────────────────────────────────────
|
|
544
528
|
function isAddressOwner(owner, address) {
|
|
545
529
|
const o = owner;
|
|
@@ -554,25 +538,27 @@ function isAddressOwner(owner, address) {
|
|
|
554
538
|
* A failed read means "can't confirm", which resolves to `false` — the editor
|
|
555
539
|
* stays hidden rather than being offered and then rejected on submit.
|
|
556
540
|
*/
|
|
557
|
-
export
|
|
558
|
-
const capId =
|
|
559
|
-
const
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
541
|
+
export const ownsParty = Effect.fn("ownsParty")(function* (address, partyId, config) {
|
|
542
|
+
const capId = derivePartyAdminCapId(partyId, config.partyos.partyos);
|
|
543
|
+
const client = yield* SuiClient;
|
|
544
|
+
const isOwner = yield* Effect.tryPromise({
|
|
545
|
+
try: (signal) => client.core.getObject({ objectId: capId, signal }),
|
|
546
|
+
catch: (cause) => cause,
|
|
547
|
+
}).pipe(Effect.map(({ object }) => isAddressOwner(object?.owner, address)), Effect.catch(() => Effect.succeed(false)));
|
|
563
548
|
return { address: normalizeSuiAddress(address), objectId: partyId, isOwner, capId };
|
|
564
|
-
}
|
|
549
|
+
});
|
|
565
550
|
/**
|
|
566
551
|
* Whether `address` owns a record. Records are address-owned objects, so this is
|
|
567
552
|
* one `getObject` and an owner compare. Presentation gating only — it decides
|
|
568
553
|
* whether the Snapshots tab appears, and a non-owner has no snapshot content to
|
|
569
554
|
* fetch regardless.
|
|
570
555
|
*/
|
|
571
|
-
export
|
|
572
|
-
const
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
556
|
+
export const ownsRecord = Effect.fn("ownsRecord")(function* (address, recordId) {
|
|
557
|
+
const client = yield* SuiClient;
|
|
558
|
+
const isOwner = yield* Effect.tryPromise({
|
|
559
|
+
try: (signal) => client.core.getObject({ objectId: recordId, signal }),
|
|
560
|
+
catch: (cause) => cause,
|
|
561
|
+
}).pipe(Effect.map(({ object }) => isAddressOwner(object?.owner, address)), Effect.catch(() => Effect.succeed(false)));
|
|
576
562
|
return { address: normalizeSuiAddress(address), objectId: recordId, isOwner };
|
|
577
|
-
}
|
|
563
|
+
});
|
|
578
564
|
//# sourceMappingURL=wallet.js.map
|