@misofm/platform 0.26.2 → 0.28.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 +309 -204
- package/dist/Miso.d.ts +403 -0
- package/dist/Miso.d.ts.map +1 -0
- package/dist/Miso.js +455 -0
- package/dist/Miso.js.map +1 -0
- package/dist/auth.d.ts +11 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +16 -3
- package/dist/auth.js.map +1 -1
- package/dist/catalog.d.ts +8 -5
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +36 -19
- package/dist/catalog.js.map +1 -1
- package/dist/client.d.ts +52 -443
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +58 -775
- package/dist/client.js.map +1 -1
- package/dist/contracts/composition_credits/composition_credits.d.ts +38 -48
- package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -1
- package/dist/contracts/composition_credits/composition_credits.js +20 -4
- package/dist/contracts/composition_credits/composition_credits.js.map +1 -1
- package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +64 -1
- package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -1
- package/dist/contracts/composition_routed_stake/composition_routed_stake.js +66 -1
- package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -1
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +52 -4
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -1
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +52 -4
- 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 +63 -1
- package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts.map +1 -1
- package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js +63 -1
- package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js.map +1 -1
- package/dist/contracts/genre/genre.d.ts +10 -1
- package/dist/contracts/genre/genre.d.ts.map +1 -1
- package/dist/contracts/genre/genre.js +8 -1
- package/dist/contracts/genre/genre.js.map +1 -1
- package/dist/contracts/miso_pay/deps/std/type_name.d.ts.map +1 -0
- package/dist/contracts/miso_pay/deps/std/type_name.js.map +1 -0
- package/dist/contracts/miso_pay/pay.d.ts +209 -0
- package/dist/contracts/miso_pay/pay.d.ts.map +1 -0
- package/dist/contracts/miso_pay/pay.js +195 -0
- package/dist/contracts/miso_pay/pay.js.map +1 -0
- package/dist/contracts/party_cta/party_cta.d.ts +49 -3
- package/dist/contracts/party_cta/party_cta.d.ts.map +1 -1
- package/dist/contracts/party_cta/party_cta.js +27 -5
- package/dist/contracts/party_cta/party_cta.js.map +1 -1
- package/dist/contracts/party_genre/party_genre.d.ts +25 -0
- package/dist/contracts/party_genre/party_genre.d.ts.map +1 -1
- package/dist/contracts/party_genre/party_genre.js +14 -3
- package/dist/contracts/party_genre/party_genre.js.map +1 -1
- package/dist/contracts/party_media/party_media.d.ts +19 -3
- package/dist/contracts/party_media/party_media.d.ts.map +1 -1
- package/dist/contracts/party_media/party_media.js +20 -4
- package/dist/contracts/party_media/party_media.js.map +1 -1
- package/dist/contracts/party_platform_link/party_platform_link.d.ts +15 -7
- package/dist/contracts/party_platform_link/party_platform_link.d.ts.map +1 -1
- package/dist/contracts/party_platform_link/party_platform_link.js +15 -7
- package/dist/contracts/party_platform_link/party_platform_link.js.map +1 -1
- package/dist/contracts/party_profile/party_profile.d.ts +63 -8
- package/dist/contracts/party_profile/party_profile.d.ts.map +1 -1
- package/dist/contracts/party_profile/party_profile.js +33 -8
- package/dist/contracts/party_profile/party_profile.js.map +1 -1
- package/dist/contracts/party_roles/party_roles.d.ts +28 -3
- package/dist/contracts/party_roles/party_roles.d.ts.map +1 -1
- package/dist/contracts/party_roles/party_roles.js +19 -4
- package/dist/contracts/party_roles/party_roles.js.map +1 -1
- package/dist/contracts/party_tags/party_tags.d.ts +23 -3
- package/dist/contracts/party_tags/party_tags.d.ts.map +1 -1
- package/dist/contracts/party_tags/party_tags.js +16 -4
- package/dist/contracts/party_tags/party_tags.js.map +1 -1
- package/dist/contracts/party_wallet/party_wallet.d.ts +4 -1
- package/dist/contracts/party_wallet/party_wallet.d.ts.map +1 -1
- package/dist/contracts/party_wallet/party_wallet.js +2 -1
- package/dist/contracts/party_wallet/party_wallet.js.map +1 -1
- package/dist/contracts/platform_link/platform_link.d.ts +207 -0
- package/dist/contracts/platform_link/platform_link.d.ts.map +1 -0
- package/dist/contracts/platform_link/platform_link.js +209 -0
- package/dist/contracts/platform_link/platform_link.js.map +1 -0
- package/dist/contracts/record/pressing.d.ts +53 -7
- package/dist/contracts/record/pressing.d.ts.map +1 -1
- package/dist/contracts/record/pressing.js +50 -4
- package/dist/contracts/record/pressing.js.map +1 -1
- package/dist/contracts/record/record.d.ts +14 -0
- package/dist/contracts/record/record.d.ts.map +1 -1
- package/dist/contracts/record/record.js +15 -1
- package/dist/contracts/record/record.js.map +1 -1
- package/dist/contracts/record_shop/listing.d.ts +80 -35
- package/dist/contracts/record_shop/listing.d.ts.map +1 -1
- package/dist/contracts/record_shop/listing.js +76 -13
- package/dist/contracts/record_shop/listing.js.map +1 -1
- package/dist/contracts/recording_advisory/recording_advisory.d.ts +15 -15
- package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -1
- package/dist/contracts/recording_advisory/recording_advisory.js +15 -8
- package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -1
- package/dist/contracts/recording_credits/recording_credits.d.ts +95 -1350
- package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -1
- package/dist/contracts/recording_credits/recording_credits.js +63 -12
- package/dist/contracts/recording_credits/recording_credits.js.map +1 -1
- package/dist/contracts/recording_engine_session/recording_engine_session.d.ts +30 -49
- package/dist/contracts/recording_engine_session/recording_engine_session.d.ts.map +1 -1
- package/dist/contracts/recording_engine_session/recording_engine_session.js +19 -4
- package/dist/contracts/recording_engine_session/recording_engine_session.js.map +1 -1
- package/dist/contracts/recording_genre/recording_genre.d.ts +67 -9
- package/dist/contracts/recording_genre/recording_genre.d.ts.map +1 -1
- package/dist/contracts/recording_genre/recording_genre.js +53 -9
- package/dist/contracts/recording_genre/recording_genre.js.map +1 -1
- package/dist/contracts/recording_language/recording_language.d.ts +29 -5
- package/dist/contracts/recording_language/recording_language.d.ts.map +1 -1
- package/dist/contracts/recording_language/recording_language.js +18 -5
- package/dist/contracts/recording_language/recording_language.js.map +1 -1
- package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +25 -15
- package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -1
- package/dist/contracts/recording_master_reference/recording_master_reference.js +18 -5
- package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -1
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +55 -4
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -1
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +55 -4
- 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 +66 -1
- package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts.map +1 -1
- package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js +66 -1
- package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js.map +1 -1
- package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts +12 -9
- package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts.map +1 -1
- package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js +11 -4
- package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js.map +1 -1
- package/dist/contracts/release_cover_art/release_cover_art.d.ts +168 -74
- package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -1
- package/dist/contracts/release_cover_art/release_cover_art.js +126 -10
- package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -1
- package/dist/contracts/release_credits/release_credits.d.ts +24 -28
- package/dist/contracts/release_credits/release_credits.d.ts.map +1 -1
- package/dist/contracts/release_credits/release_credits.js +18 -4
- package/dist/contracts/release_credits/release_credits.js.map +1 -1
- package/dist/contracts/release_description/release_description.d.ts +16 -5
- package/dist/contracts/release_description/release_description.d.ts.map +1 -1
- package/dist/contracts/release_description/release_description.js +9 -4
- package/dist/contracts/release_description/release_description.js.map +1 -1
- package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +130 -160
- package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -1
- package/dist/contracts/release_dsp_link/release_dsp_link.js +74 -19
- package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -1
- package/dist/contracts/release_genre/release_genre.d.ts +66 -11
- package/dist/contracts/release_genre/release_genre.d.ts.map +1 -1
- package/dist/contracts/release_genre/release_genre.js +52 -11
- package/dist/contracts/release_genre/release_genre.js.map +1 -1
- package/dist/contracts/release_kind/release_kind.d.ts +28 -5
- package/dist/contracts/release_kind/release_kind.d.ts.map +1 -1
- package/dist/contracts/release_kind/release_kind.js +19 -4
- package/dist/contracts/release_kind/release_kind.js.map +1 -1
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +17 -0
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -1
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +15 -0
- 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 +37 -1
- package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts.map +1 -1
- package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js +37 -1
- package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js.map +1 -1
- package/dist/contracts/routed_stake/routed_stake.d.ts +78 -6
- package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -1
- package/dist/contracts/routed_stake/routed_stake.js +79 -7
- package/dist/contracts/routed_stake/routed_stake.js.map +1 -1
- package/dist/contracts/royalty_pool/pool.d.ts +117 -27
- package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/pool.js +117 -28
- package/dist/contracts/royalty_pool/pool.js.map +1 -1
- package/dist/contracts/royalty_pool/stake.d.ts +3 -0
- package/dist/contracts/royalty_pool/stake.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/stake.js +5 -2
- package/dist/contracts/royalty_pool/stake.js.map +1 -1
- package/dist/contracts/share/share.d.ts +80 -0
- package/dist/contracts/share/share.d.ts.map +1 -0
- package/dist/contracts/share/share.js +72 -0
- package/dist/contracts/share/share.js.map +1 -0
- package/dist/contracts/vault/vault.d.ts +51 -0
- package/dist/contracts/vault/vault.d.ts.map +1 -1
- package/dist/contracts/vault/vault.js +55 -4
- package/dist/contracts/vault/vault.js.map +1 -1
- package/dist/contracts.d.ts +60 -0
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +17 -0
- package/dist/contracts.js.map +1 -1
- package/dist/cover.d.ts +5 -6
- package/dist/cover.d.ts.map +1 -1
- package/dist/cover.js +10 -10
- package/dist/cover.js.map +1 -1
- package/dist/credits.d.ts +12 -13
- package/dist/credits.d.ts.map +1 -1
- package/dist/credits.js +16 -10
- package/dist/credits.js.map +1 -1
- package/dist/deployments.d.ts +3 -3
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +2 -3
- package/dist/deployments.js.map +1 -1
- package/dist/errors.d.ts +32 -9
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +52 -16
- package/dist/errors.js.map +1 -1
- package/dist/events.d.ts +1687 -835
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +258 -39
- package/dist/events.js.map +1 -1
- package/dist/genre.d.ts +11 -12
- package/dist/genre.d.ts.map +1 -1
- package/dist/genre.js +5 -3
- package/dist/genre.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/packages.d.ts +1047 -1695
- package/dist/packages.d.ts.map +1 -1
- package/dist/party/client.d.ts +113 -296
- package/dist/party/client.d.ts.map +1 -1
- package/dist/party/client.js +93 -178
- package/dist/party/client.js.map +1 -1
- package/dist/party/extensions/ctas.d.ts +3 -3
- package/dist/party/extensions/ctas.d.ts.map +1 -1
- package/dist/party/extensions/genres.d.ts +4 -4
- package/dist/party/extensions/genres.d.ts.map +1 -1
- package/dist/party/extensions/links.d.ts +5 -5
- package/dist/party/extensions/links.d.ts.map +1 -1
- package/dist/party/extensions/links.js.map +1 -1
- package/dist/party/extensions/media.d.ts +3 -3
- package/dist/party/extensions/media.d.ts.map +1 -1
- package/dist/party/extensions/profile.d.ts +3 -3
- package/dist/party/extensions/profile.d.ts.map +1 -1
- package/dist/party/extensions/roles.d.ts +4 -4
- package/dist/party/extensions/roles.d.ts.map +1 -1
- package/dist/party/extensions/roles.js.map +1 -1
- package/dist/party/extensions/tags.d.ts +4 -4
- package/dist/party/extensions/tags.d.ts.map +1 -1
- package/dist/party/index.d.ts +1 -1
- package/dist/party/index.d.ts.map +1 -1
- package/dist/party/index.js.map +1 -1
- package/dist/party/queries.d.ts +8 -8
- package/dist/party/queries.d.ts.map +1 -1
- package/dist/party/queries.js +83 -56
- package/dist/party/queries.js.map +1 -1
- package/dist/pressing.d.ts +13 -15
- package/dist/pressing.d.ts.map +1 -1
- package/dist/pressing.js +99 -29
- package/dist/pressing.js.map +1 -1
- package/dist/publication.d.ts +13 -6
- package/dist/publication.d.ts.map +1 -1
- package/dist/publication.js +26 -21
- package/dist/publication.js.map +1 -1
- package/dist/queries.js +3 -3
- package/dist/queries.js.map +1 -1
- package/dist/read/artist.d.ts +4 -3
- package/dist/read/artist.d.ts.map +1 -1
- package/dist/read/artist.js +24 -8
- package/dist/read/artist.js.map +1 -1
- package/dist/read/catalog.d.ts +17 -16
- package/dist/read/catalog.d.ts.map +1 -1
- package/dist/read/catalog.js +25 -11
- package/dist/read/catalog.js.map +1 -1
- package/dist/read/client.d.ts +41 -20
- package/dist/read/client.d.ts.map +1 -1
- package/dist/read/client.js +20 -12
- package/dist/read/client.js.map +1 -1
- package/dist/read/config.d.ts +27 -3
- package/dist/read/config.d.ts.map +1 -1
- package/dist/read/config.js +42 -24
- package/dist/read/config.js.map +1 -1
- package/dist/read/genres.d.ts +8 -3
- package/dist/read/genres.d.ts.map +1 -1
- package/dist/read/genres.js +23 -17
- package/dist/read/genres.js.map +1 -1
- package/dist/read/index.d.ts +3 -1
- package/dist/read/index.d.ts.map +1 -1
- package/dist/read/index.js +9 -6
- package/dist/read/index.js.map +1 -1
- package/dist/read/receipts.d.ts +5 -4
- package/dist/read/receipts.d.ts.map +1 -1
- package/dist/read/receipts.js +94 -46
- package/dist/read/receipts.js.map +1 -1
- package/dist/read/royalties.d.ts +25 -0
- package/dist/read/royalties.d.ts.map +1 -0
- package/dist/read/royalties.js +168 -0
- package/dist/read/royalties.js.map +1 -0
- package/dist/read/types.d.ts +27 -0
- package/dist/read/types.d.ts.map +1 -1
- package/dist/read/wallet.d.ts +23 -12
- package/dist/read/wallet.d.ts.map +1 -1
- package/dist/read/wallet.js +158 -177
- package/dist/read/wallet.js.map +1 -1
- package/dist/read/works.d.ts +6 -6
- package/dist/read/works.d.ts.map +1 -1
- package/dist/read/works.js +40 -26
- package/dist/read/works.js.map +1 -1
- package/dist/recording-extensions.d.ts +15 -16
- package/dist/recording-extensions.d.ts.map +1 -1
- package/dist/recording-extensions.js +12 -8
- package/dist/recording-extensions.js.map +1 -1
- package/dist/release-extensions.d.ts +5 -6
- package/dist/release-extensions.d.ts.map +1 -1
- package/dist/release-extensions.js +3 -2
- package/dist/release-extensions.js.map +1 -1
- package/dist/release-graph.d.ts +2 -2
- package/dist/release-graph.d.ts.map +1 -1
- package/dist/release-graph.js.map +1 -1
- package/dist/royalty.d.ts +4 -4
- package/dist/royalty.d.ts.map +1 -1
- package/dist/royalty.js +16 -7
- package/dist/royalty.js.map +1 -1
- package/dist/share.d.ts +58 -24
- package/dist/share.d.ts.map +1 -1
- package/dist/share.js +167 -92
- package/dist/share.js.map +1 -1
- package/dist/transactions.d.ts +15 -6
- package/dist/transactions.d.ts.map +1 -1
- package/dist/transactions.js +1 -0
- package/dist/transactions.js.map +1 -1
- package/dist/vault.d.ts +13 -3
- package/dist/vault.d.ts.map +1 -1
- package/dist/vault.js +22 -16
- package/dist/vault.js.map +1 -1
- package/package.json +9 -8
- package/src/Miso.ts +951 -0
- package/src/auth.ts +16 -3
- package/src/catalog.ts +58 -25
- package/src/client.ts +98 -1359
- package/src/contracts/composition_credits/composition_credits.ts +20 -4
- package/src/contracts/composition_routed_stake/composition_routed_stake.ts +67 -1
- package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +53 -4
- package/src/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.ts +64 -1
- package/src/contracts/genre/genre.ts +8 -1
- package/src/contracts/miso_pay/pay.ts +356 -0
- package/src/contracts/party_cta/party_cta.ts +27 -5
- package/src/contracts/party_genre/party_genre.ts +14 -3
- package/src/contracts/party_media/party_media.ts +20 -4
- package/src/contracts/party_platform_link/party_platform_link.ts +15 -7
- package/src/contracts/party_profile/party_profile.ts +33 -8
- package/src/contracts/party_roles/party_roles.ts +19 -4
- package/src/contracts/party_tags/party_tags.ts +16 -4
- package/src/contracts/party_wallet/party_wallet.ts +2 -1
- package/src/contracts/platform_link/platform_link.ts +322 -0
- package/src/contracts/record/pressing.ts +50 -4
- package/src/contracts/record/record.ts +15 -1
- package/src/contracts/record_shop/listing.ts +76 -13
- package/src/contracts/recording_advisory/recording_advisory.ts +15 -8
- package/src/contracts/recording_credits/recording_credits.ts +63 -12
- package/src/contracts/recording_engine_session/recording_engine_session.ts +19 -4
- package/src/contracts/recording_genre/recording_genre.ts +53 -9
- package/src/contracts/recording_language/recording_language.ts +18 -5
- package/src/contracts/recording_master_reference/recording_master_reference.ts +18 -5
- package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +56 -4
- package/src/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.ts +67 -1
- package/src/contracts/recording_streaming_transcode/recording_streaming_transcode.ts +11 -4
- package/src/contracts/release_cover_art/release_cover_art.ts +126 -10
- package/src/contracts/release_credits/release_credits.ts +18 -4
- package/src/contracts/release_description/release_description.ts +9 -4
- package/src/contracts/release_dsp_link/release_dsp_link.ts +74 -19
- package/src/contracts/release_genre/release_genre.ts +52 -11
- package/src/contracts/release_kind/release_kind.ts +19 -4
- package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +15 -0
- package/src/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.ts +38 -1
- package/src/contracts/routed_stake/routed_stake.ts +79 -7
- package/src/contracts/royalty_pool/pool.ts +140 -38
- package/src/contracts/royalty_pool/stake.ts +5 -2
- package/src/contracts/share/share.ts +97 -0
- package/src/contracts/vault/vault.ts +55 -4
- package/src/contracts.ts +18 -0
- package/src/cover.ts +14 -15
- package/src/credits.ts +27 -22
- package/src/deployments.ts +3 -4
- package/src/errors.ts +77 -34
- package/src/events.ts +260 -39
- package/src/genre.ts +15 -14
- package/src/index.ts +19 -10
- package/src/party/client.ts +217 -208
- package/src/party/extensions/ctas.ts +3 -3
- package/src/party/extensions/genres.ts +4 -4
- package/src/party/extensions/links.ts +7 -7
- package/src/party/extensions/media.ts +3 -3
- package/src/party/extensions/profile.ts +3 -3
- package/src/party/extensions/roles.ts +5 -5
- package/src/party/extensions/tags.ts +4 -4
- package/src/party/index.ts +0 -1
- package/src/party/queries.ts +90 -87
- package/src/pressing.ts +132 -89
- package/src/publication.ts +33 -32
- package/src/queries.ts +3 -3
- package/src/read/artist.ts +36 -17
- package/src/read/catalog.ts +68 -36
- package/src/read/client.ts +55 -30
- package/src/read/config.ts +57 -29
- package/src/read/genres.ts +22 -18
- package/src/read/index.ts +15 -6
- package/src/read/receipts.ts +130 -67
- package/src/read/royalties.ts +212 -0
- package/src/read/types.ts +30 -0
- package/src/read/wallet.ts +226 -216
- package/src/read/works.ts +51 -44
- package/src/recording-extensions.ts +27 -24
- package/src/release-extensions.ts +7 -7
- package/src/release-graph.ts +2 -1
- package/src/royalty.ts +19 -25
- package/src/share.ts +197 -128
- package/src/transactions.ts +15 -8
- package/src/vault.ts +24 -31
- package/dist/contracts/record_shop/deps/std/type_name.d.ts.map +0 -1
- package/dist/contracts/record_shop/deps/std/type_name.js.map +0 -1
- package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +0 -6
- package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +0 -1
- package/dist/contracts/recording_language/deps/language_code/language_code.js +0 -8
- package/dist/contracts/recording_language/deps/language_code/language_code.js.map +0 -1
- package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts +0 -24
- package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts.map +0 -1
- package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js +0 -24
- package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js.map +0 -1
- package/dist/contracts/recording_master_reference/deps/ori/data.d.ts +0 -16
- package/dist/contracts/recording_master_reference/deps/ori/data.d.ts.map +0 -1
- package/dist/contracts/recording_master_reference/deps/ori/data.js +0 -12
- package/dist/contracts/recording_master_reference/deps/ori/data.js.map +0 -1
- package/dist/execute.d.ts +0 -32
- package/dist/execute.d.ts.map +0 -1
- package/dist/execute.js +0 -36
- package/dist/execute.js.map +0 -1
- package/src/contracts/recording_language/deps/language_code/language_code.ts +0 -8
- package/src/contracts/recording_master_reference/deps/ori/confidentiality.ts +0 -24
- package/src/contracts/recording_master_reference/deps/ori/data.ts +0 -12
- package/src/execute.ts +0 -56
- /package/dist/contracts/{record_shop → miso_pay}/deps/std/type_name.d.ts +0 -0
- /package/dist/contracts/{record_shop → miso_pay}/deps/std/type_name.js +0 -0
- /package/src/contracts/{record_shop → miso_pay}/deps/std/type_name.ts +0 -0
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
// `ArtistRole` value via its constructor move-call, then add/remove it.
|
|
8
8
|
|
|
9
9
|
import * as rolesMod from "../../contracts/party_roles/party_roles.ts";
|
|
10
|
-
import type {
|
|
10
|
+
import type { Recipe } from "@unconfirmed/sui-effect";
|
|
11
11
|
|
|
12
12
|
/** The canonical role variants (a fixed, typo-free set the frontend can render). */
|
|
13
13
|
export type CanonicalRole =
|
|
@@ -39,7 +39,7 @@ const CANONICAL_CTORS = {
|
|
|
39
39
|
} as const;
|
|
40
40
|
|
|
41
41
|
/** Builds the `ArtistRole` value for a role via its constructor move-call. */
|
|
42
|
-
function buildRole(tx: Parameters<
|
|
42
|
+
function buildRole(tx: Parameters<Recipe>[0], role: Role, pkg: string) {
|
|
43
43
|
if (role.kind === "custom") {
|
|
44
44
|
return tx.add(rolesMod.custom({ package: pkg, arguments: [role.name] }));
|
|
45
45
|
}
|
|
@@ -54,7 +54,7 @@ export interface AddRoleParams {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
/** Adds a role to the party. Aborts on-chain if already held or the max is reached. */
|
|
57
|
-
export function addRole(params: AddRoleParams):
|
|
57
|
+
export function addRole(params: AddRoleParams): Recipe {
|
|
58
58
|
return (tx) => {
|
|
59
59
|
const role = buildRole(tx, params.role, params.partyRolesPackageId);
|
|
60
60
|
tx.add(
|
|
@@ -71,7 +71,7 @@ export interface RemoveRoleParams {
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
/** Removes a role from the party. Aborts on-chain if not held. */
|
|
74
|
-
export function removeRole(params: RemoveRoleParams):
|
|
74
|
+
export function removeRole(params: RemoveRoleParams): Recipe {
|
|
75
75
|
return (tx) => {
|
|
76
76
|
const role = buildRole(tx, params.role, params.partyRolesPackageId);
|
|
77
77
|
tx.add(
|
|
@@ -87,7 +87,7 @@ export interface ClearRolesParams {
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
/** Removes the party's entire role set. No-op on-chain if none is set. */
|
|
90
|
-
export function clearRoles(params: ClearRolesParams):
|
|
90
|
+
export function clearRoles(params: ClearRolesParams): Recipe {
|
|
91
91
|
return (tx) => {
|
|
92
92
|
tx.add(rolesMod.clearRoles({ package: params.partyRolesPackageId, arguments: [params.partyId, params.capId] }));
|
|
93
93
|
};
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// concern.
|
|
7
7
|
|
|
8
8
|
import * as tagsMod from "../../contracts/party_tags/party_tags.ts";
|
|
9
|
-
import type {
|
|
9
|
+
import type { Recipe } from "@unconfirmed/sui-effect";
|
|
10
10
|
|
|
11
11
|
export interface AddTagParams {
|
|
12
12
|
partyId: string;
|
|
@@ -16,7 +16,7 @@ export interface AddTagParams {
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
/** Adds a tag to the party. Aborts on-chain if empty, too long, duplicate, or the max is reached. */
|
|
19
|
-
export function addTag(params: AddTagParams):
|
|
19
|
+
export function addTag(params: AddTagParams): Recipe {
|
|
20
20
|
return (tx) => {
|
|
21
21
|
tx.add(
|
|
22
22
|
tagsMod.addTag({ package: params.partyTagsPackageId, arguments: [params.partyId, params.capId, params.tag] }),
|
|
@@ -32,7 +32,7 @@ export interface RemoveTagParams {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
/** Removes a tag from the party. Aborts on-chain if not present. */
|
|
35
|
-
export function removeTag(params: RemoveTagParams):
|
|
35
|
+
export function removeTag(params: RemoveTagParams): Recipe {
|
|
36
36
|
return (tx) => {
|
|
37
37
|
tx.add(
|
|
38
38
|
tagsMod.removeTag({ package: params.partyTagsPackageId, arguments: [params.partyId, params.capId, params.tag] }),
|
|
@@ -47,7 +47,7 @@ export interface ClearTagsParams {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
/** Removes the party's entire tag set. No-op on-chain if none is set. */
|
|
50
|
-
export function clearTags(params: ClearTagsParams):
|
|
50
|
+
export function clearTags(params: ClearTagsParams): Recipe {
|
|
51
51
|
return (tx) => {
|
|
52
52
|
tx.add(tagsMod.clearTags({ package: params.partyTagsPackageId, arguments: [params.partyId, params.capId] }));
|
|
53
53
|
};
|
package/src/party/index.ts
CHANGED
package/src/party/queries.ts
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
// Copyright (c) Miso Labs, Inc.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
// Typed reads for the Party EXTENSIONS: fetch an on-chain dynamic field via
|
|
5
|
-
//
|
|
6
|
-
// camelCase types. Party core reads (`getPartyById`, group
|
|
7
|
-
// in `@misofm/partyos` — this file only covers
|
|
8
|
-
// ctas/links.
|
|
4
|
+
// Typed reads for the Party EXTENSIONS: fetch an on-chain dynamic field via
|
|
5
|
+
// `Sui`, BCS-parse its value through the generated struct, and map to the
|
|
6
|
+
// public camelCase types. Party core reads (`getPartyById`, group
|
|
7
|
+
// membership, …) live in `@misofm/partyos` — this file only covers
|
|
8
|
+
// profile/media/roles/tags/genres/ctas/links.
|
|
9
|
+
//
|
|
10
|
+
// Each field lives under an empty positional key (Move's implicit
|
|
11
|
+
// `dummy_field: bool` → one zero byte); `sui.getDynamicFieldOption(parent,
|
|
12
|
+
// { type, bcs })` reads the field's VALUE bytes directly, so — unlike the
|
|
13
|
+
// predecessor `@misofm/effect`-era version of this file — there is no
|
|
14
|
+
// separate `Field<K, V>` wrapper struct to decode per extension: one less
|
|
15
|
+
// generated-struct dependency per read, and the wrapper `bcs.struct("Field",
|
|
16
|
+
// ...)` definitions are gone entirely.
|
|
9
17
|
|
|
10
18
|
import { Effect, Option, Stream } from "effect";
|
|
11
|
-
import { deriveDynamicFieldID } from "@mysten/sui/utils";
|
|
12
19
|
import { bcs } from "@mysten/sui/bcs";
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
getOptionalObjectContent,
|
|
16
|
-
listDynamicFields,
|
|
17
|
-
SuiClient,
|
|
18
|
-
type BcsDecodeError,
|
|
19
|
-
type SuiRpcError,
|
|
20
|
-
} from "@misofm/effect";
|
|
20
|
+
import { normalizeStructTag } from "@mysten/sui/utils";
|
|
21
|
+
import { ObjectId, Sui, SuiSchema, type DecodeError, type TransportError } from "@unconfirmed/sui-effect";
|
|
21
22
|
import { Profile as ProfileBcs, ProfileKey as ProfileKeyBcs } from "../contracts/party_profile/party_profile.ts";
|
|
22
23
|
import { Media as MediaBcs, MediaKey as MediaKeyBcs } from "../contracts/party_media/party_media.ts";
|
|
23
24
|
import { ArtistRole as ArtistRoleBcs, RolesKey as RolesKeyBcs } from "../contracts/party_roles/party_roles.ts";
|
|
@@ -28,119 +29,114 @@ import { mapCtas, mapGenres, mapMedia, mapProfile, mapRoles, mapTags } from "./i
|
|
|
28
29
|
import { buildLink, platformForDataType } from "./extensions/links.ts";
|
|
29
30
|
import { Cta, Media, PlatformLink, Profile } from "./types.ts";
|
|
30
31
|
|
|
31
|
-
// The profile is a dynamic field on the party UID under an empty `ProfileKey()`
|
|
32
|
-
// (Move's implicit `dummy_field: bool` → one zero byte).
|
|
33
|
-
const ProfileField = bcs.struct("Field", { id: bcs.Address, name: ProfileKeyBcs, value: ProfileBcs });
|
|
34
32
|
const PROFILE_KEY_BYTES = ProfileKeyBcs.serialize([false]).toBytes();
|
|
35
33
|
|
|
36
34
|
/** Fetches a party's profile; `Option.none()` if none is set. */
|
|
37
35
|
export const getProfile = Effect.fn("getProfile")(function* (
|
|
38
36
|
partyId: string,
|
|
39
37
|
partyProfilePackageId: string,
|
|
40
|
-
): Effect.fn.Return<Option.Option<Profile>,
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
);
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
contentOpt.value.content,
|
|
52
|
-
{ type: "Profile", objectId: fieldId },
|
|
53
|
-
);
|
|
54
|
-
return Option.some(profile);
|
|
38
|
+
): Effect.fn.Return<Option.Option<Profile>, DecodeError | TransportError, Sui> {
|
|
39
|
+
const sui = yield* Sui;
|
|
40
|
+
const keyTag = normalizeStructTag(`${partyProfilePackageId}::party_profile::ProfileKey`);
|
|
41
|
+
const field = yield* sui.getDynamicFieldOption(ObjectId.make(partyId), { type: keyTag, bcs: PROFILE_KEY_BYTES });
|
|
42
|
+
if (Option.isNone(field)) return Option.none();
|
|
43
|
+
const valueTag = normalizeStructTag(`${partyProfilePackageId}::party_profile::Profile`);
|
|
44
|
+
const raw = yield* SuiSchema.decode(SuiSchema.bcs(ProfileBcs, valueTag), field.value.value.bcs, {
|
|
45
|
+
objectId: field.value.fieldId,
|
|
46
|
+
actualType: field.value.value.type,
|
|
47
|
+
});
|
|
48
|
+
return Option.some(mapProfile(partyId, raw));
|
|
55
49
|
});
|
|
56
50
|
|
|
57
|
-
// Media is a dynamic field on the party UID under an empty `MediaKey()` (same
|
|
58
|
-
// implicit `dummy_field: bool` → one zero byte as the profile key).
|
|
59
|
-
const MediaField = bcs.struct("Field", { id: bcs.Address, name: MediaKeyBcs, value: MediaBcs });
|
|
60
51
|
const MEDIA_KEY_BYTES = MediaKeyBcs.serialize([false]).toBytes();
|
|
61
52
|
|
|
62
53
|
/** Fetches a party's media (avatar + header); `Option.none()` if none is set. */
|
|
63
54
|
export const getMedia = Effect.fn("getMedia")(function* (
|
|
64
55
|
partyId: string,
|
|
65
56
|
partyMediaPackageId: string,
|
|
66
|
-
): Effect.fn.Return<Option.Option<Media>,
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
);
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
contentOpt.value.content,
|
|
78
|
-
{ type: "Media", objectId: fieldId },
|
|
79
|
-
);
|
|
80
|
-
return Option.some(media);
|
|
57
|
+
): Effect.fn.Return<Option.Option<Media>, DecodeError | TransportError, Sui> {
|
|
58
|
+
const sui = yield* Sui;
|
|
59
|
+
const keyTag = normalizeStructTag(`${partyMediaPackageId}::party_media::MediaKey`);
|
|
60
|
+
const field = yield* sui.getDynamicFieldOption(ObjectId.make(partyId), { type: keyTag, bcs: MEDIA_KEY_BYTES });
|
|
61
|
+
if (Option.isNone(field)) return Option.none();
|
|
62
|
+
const valueTag = normalizeStructTag(`${partyMediaPackageId}::party_media::Media`);
|
|
63
|
+
const raw = yield* SuiSchema.decode(SuiSchema.bcs(MediaBcs, valueTag), field.value.value.bcs, {
|
|
64
|
+
objectId: field.value.fieldId,
|
|
65
|
+
actualType: field.value.value.type,
|
|
66
|
+
});
|
|
67
|
+
return Option.some(mapMedia(partyId, raw));
|
|
81
68
|
});
|
|
82
69
|
|
|
83
70
|
// === Collection extension reads (roles / tags / genres / ctas) ===
|
|
84
71
|
//
|
|
85
|
-
// Each is a single dynamic field on the party UID under an empty positional
|
|
86
|
-
// (
|
|
87
|
-
// Absence keeps the pre-migration policy: an empty collection, not a
|
|
72
|
+
// Each is a single dynamic field on the party UID under an empty positional
|
|
73
|
+
// key (same implicit `dummy_field: bool` → one zero byte as the profile
|
|
74
|
+
// key). Absence keeps the pre-migration policy: an empty collection, not a
|
|
75
|
+
// failure.
|
|
88
76
|
|
|
89
77
|
const ROLES_KEY_BYTES = RolesKeyBcs.serialize([false]).toBytes();
|
|
90
|
-
const
|
|
78
|
+
const RolesValue = bcs.vector(ArtistRoleBcs);
|
|
91
79
|
|
|
92
80
|
/** The party's artist-type roles (display names), or `[]` if none are set. */
|
|
93
81
|
export const getRoles = Effect.fn("getRoles")(function* (
|
|
94
82
|
partyId: string,
|
|
95
83
|
partyRolesPackageId: string,
|
|
96
|
-
): Effect.fn.Return<string[],
|
|
97
|
-
const
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
84
|
+
): Effect.fn.Return<string[], DecodeError | TransportError, Sui> {
|
|
85
|
+
const sui = yield* Sui;
|
|
86
|
+
const keyTag = normalizeStructTag(`${partyRolesPackageId}::party_roles::RolesKey`);
|
|
87
|
+
const field = yield* sui.getDynamicFieldOption(ObjectId.make(partyId), { type: keyTag, bcs: ROLES_KEY_BYTES });
|
|
88
|
+
if (Option.isNone(field)) return [];
|
|
89
|
+
const roles = yield* SuiSchema.decode(SuiSchema.bcs(RolesValue), field.value.value.bcs, { objectId: field.value.fieldId });
|
|
90
|
+
return mapRoles(roles);
|
|
101
91
|
});
|
|
102
92
|
|
|
103
93
|
const TAGS_KEY_BYTES = TagsKeyBcs.serialize([false]).toBytes();
|
|
104
|
-
const
|
|
94
|
+
const TagsValue = bcs.vector(bcs.string());
|
|
105
95
|
|
|
106
96
|
/** The party's free-form tags, or `[]` if none are set. */
|
|
107
97
|
export const getTags = Effect.fn("getTags")(function* (
|
|
108
98
|
partyId: string,
|
|
109
99
|
partyTagsPackageId: string,
|
|
110
|
-
): Effect.fn.Return<string[],
|
|
111
|
-
const
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
100
|
+
): Effect.fn.Return<string[], DecodeError | TransportError, Sui> {
|
|
101
|
+
const sui = yield* Sui;
|
|
102
|
+
const keyTag = normalizeStructTag(`${partyTagsPackageId}::party_tags::TagsKey`);
|
|
103
|
+
const field = yield* sui.getDynamicFieldOption(ObjectId.make(partyId), { type: keyTag, bcs: TAGS_KEY_BYTES });
|
|
104
|
+
if (Option.isNone(field)) return [];
|
|
105
|
+
const tags = yield* SuiSchema.decode(SuiSchema.bcs(TagsValue), field.value.value.bcs, { objectId: field.value.fieldId });
|
|
106
|
+
return mapTags(tags);
|
|
115
107
|
});
|
|
116
108
|
|
|
117
109
|
const GENRES_KEY_BYTES = GenresKeyBcs.serialize([false]).toBytes();
|
|
118
|
-
const
|
|
110
|
+
const GenresValue = bcs.vector(bcs.Address);
|
|
119
111
|
|
|
120
112
|
/** The party's genre object ids, or `[]` if none are set. */
|
|
121
113
|
export const getGenres = Effect.fn("getGenres")(function* (
|
|
122
114
|
partyId: string,
|
|
123
115
|
partyGenrePackageId: string,
|
|
124
|
-
): Effect.fn.Return<string[],
|
|
125
|
-
const
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
116
|
+
): Effect.fn.Return<string[], DecodeError | TransportError, Sui> {
|
|
117
|
+
const sui = yield* Sui;
|
|
118
|
+
const keyTag = normalizeStructTag(`${partyGenrePackageId}::party_genre::GenresKey`);
|
|
119
|
+
const field = yield* sui.getDynamicFieldOption(ObjectId.make(partyId), { type: keyTag, bcs: GENRES_KEY_BYTES });
|
|
120
|
+
if (Option.isNone(field)) return [];
|
|
121
|
+
const genres = yield* SuiSchema.decode(SuiSchema.bcs(GenresValue), field.value.value.bcs, { objectId: field.value.fieldId });
|
|
122
|
+
return mapGenres(genres);
|
|
129
123
|
});
|
|
130
124
|
|
|
131
125
|
const CTAS_KEY_BYTES = CtasKeyBcs.serialize([false]).toBytes();
|
|
132
126
|
// The CTA field's value is a bare `vector<Cta>` (not a wrapper struct).
|
|
133
|
-
const
|
|
127
|
+
const CtasValue = bcs.vector(CtaBcs);
|
|
134
128
|
|
|
135
129
|
/** The party's ordered CTA list (position is priority), or `[]` if none is set. */
|
|
136
130
|
export const getCtas = Effect.fn("getCtas")(function* (
|
|
137
131
|
partyId: string,
|
|
138
132
|
partyCtaPackageId: string,
|
|
139
|
-
): Effect.fn.Return<Cta[],
|
|
140
|
-
const
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
133
|
+
): Effect.fn.Return<Cta[], DecodeError | TransportError, Sui> {
|
|
134
|
+
const sui = yield* Sui;
|
|
135
|
+
const keyTag = normalizeStructTag(`${partyCtaPackageId}::party_cta::CtasKey`);
|
|
136
|
+
const field = yield* sui.getDynamicFieldOption(ObjectId.make(partyId), { type: keyTag, bcs: CTAS_KEY_BYTES });
|
|
137
|
+
if (Option.isNone(field)) return [];
|
|
138
|
+
const ctas = yield* SuiSchema.decode(SuiSchema.bcs(CtasValue), field.value.value.bcs, { objectId: field.value.fieldId });
|
|
139
|
+
return mapCtas(ctas).map((c) => new Cta(c));
|
|
144
140
|
});
|
|
145
141
|
|
|
146
142
|
// === Platform-link reads ===
|
|
@@ -150,26 +146,33 @@ export const getCtas = Effect.fn("getCtas")(function* (
|
|
|
150
146
|
// enumerate the party's dynamic fields and pick out the platform-link ones,
|
|
151
147
|
// identifying the platform from the `Data` type argument. Every payload `Data`
|
|
152
148
|
// type is a single-`String` newtype, so `PlatformLink<Data>` serializes exactly
|
|
153
|
-
// as one BCS string —
|
|
154
|
-
const
|
|
149
|
+
// as one BCS string — decode the field's value as such.
|
|
150
|
+
const PlatformLinkValue = bcs.string();
|
|
155
151
|
const PLATFORM_LINK_KEY_RE = /::platform_link::PlatformLinkKey<(.+)>$/;
|
|
156
152
|
|
|
157
153
|
/** All external-platform links attached to a party (social, music, professional). */
|
|
158
154
|
export const getLinks = Effect.fn("getLinks")(function* (
|
|
159
155
|
partyId: string,
|
|
160
|
-
): Effect.fn.Return<PlatformLink[],
|
|
161
|
-
const
|
|
156
|
+
): Effect.fn.Return<PlatformLink[], DecodeError | TransportError, Sui> {
|
|
157
|
+
const sui = yield* Sui;
|
|
158
|
+
const id = ObjectId.make(partyId);
|
|
159
|
+
// The regex match below drops every entry that is not this platform's own
|
|
160
|
+
// `PlatformLinkKey<Data>` — including a foreign extension's dynamic fields
|
|
161
|
+
// on the same party UID — before a byte is read.
|
|
162
|
+
const entries = yield* Stream.runCollect(sui.streamDynamicFields(id));
|
|
162
163
|
const links: PlatformLink[] = [];
|
|
163
|
-
for (const
|
|
164
|
-
|
|
165
|
-
const match = f.name.type.match(PLATFORM_LINK_KEY_RE);
|
|
164
|
+
for (const entry of entries) {
|
|
165
|
+
const match = entry.name.type.match(PLATFORM_LINK_KEY_RE);
|
|
166
166
|
const dataType = match?.[1];
|
|
167
167
|
if (!dataType) continue;
|
|
168
168
|
const platform = platformForDataType(dataType);
|
|
169
169
|
if (!platform) continue;
|
|
170
|
-
const
|
|
171
|
-
if (Option.isNone(
|
|
172
|
-
|
|
170
|
+
const field = yield* sui.getDynamicFieldOption(id, entry.name);
|
|
171
|
+
if (Option.isNone(field)) continue;
|
|
172
|
+
const value = yield* SuiSchema.decode(SuiSchema.bcs(PlatformLinkValue), field.value.value.bcs, {
|
|
173
|
+
objectId: field.value.fieldId,
|
|
174
|
+
});
|
|
175
|
+
links.push(buildLink(platform, value));
|
|
173
176
|
}
|
|
174
177
|
return links;
|
|
175
178
|
});
|