@misofm/sdk 0.15.11 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +210 -73
- package/dist/client.d.ts +224 -68
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +465 -79
- package/dist/client.js.map +1 -1
- package/dist/contracts/composition_credits/composition_credits.d.ts +10 -10
- package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -1
- package/dist/contracts/composition_credits/composition_credits.js.map +1 -1
- package/dist/contracts/composition_credits/composition_party_role.d.ts +1 -1
- package/dist/contracts/composition_credits/composition_party_role.d.ts.map +1 -1
- package/dist/contracts/composition_credits/composition_party_role.js.map +1 -1
- package/dist/contracts/composition_credits/deps/miso_credit/credit.d.ts.map +1 -1
- package/dist/contracts/composition_credits/deps/miso_credit/credit.js.map +1 -1
- package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts.map +1 -1
- package/dist/contracts/composition_credits/deps/sui/vec_map.js.map +1 -1
- package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +29 -93
- package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -1
- package/dist/contracts/composition_routed_stake/composition_routed_stake.js +19 -79
- package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -1
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +22 -106
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -1
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +16 -98
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -1
- package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts +90 -0
- package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts.map +1 -0
- package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js +85 -0
- package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js.map +1 -0
- package/dist/contracts/{party_wallet → composition_royalty_pool_plugin}/witness.d.ts +1 -1
- package/dist/contracts/composition_royalty_pool_plugin/witness.d.ts.map +1 -0
- package/dist/contracts/{recording_royalty_pool → composition_royalty_pool_plugin}/witness.js +1 -1
- package/dist/contracts/composition_royalty_pool_plugin/witness.js.map +1 -0
- package/dist/contracts/cover_art/cover_art.d.ts +4 -4
- package/dist/contracts/cover_art/cover_art.d.ts.map +1 -1
- package/dist/contracts/cover_art/cover_art.js.map +1 -1
- package/dist/contracts/cover_art/deps/ori/walrus_data.d.ts +4 -4
- package/dist/contracts/cover_art/deps/ori/walrus_data.d.ts.map +1 -1
- package/dist/contracts/cover_art/deps/ori/walrus_data.js.map +1 -1
- package/dist/contracts/genre/genre.d.ts +6 -6
- package/dist/contracts/genre/genre.d.ts.map +1 -1
- package/dist/contracts/genre/genre.js.map +1 -1
- package/dist/contracts/{miso_pressing → miso_record}/deps/std/type_name.d.ts +1 -1
- package/dist/contracts/miso_record/deps/std/type_name.d.ts.map +1 -0
- package/dist/contracts/miso_record/deps/std/type_name.js.map +1 -0
- package/dist/contracts/miso_record/deps/sui/vec_set.d.ts +21 -0
- package/dist/contracts/miso_record/deps/sui/vec_set.d.ts.map +1 -0
- package/dist/contracts/miso_record/deps/sui/vec_set.js +20 -0
- package/dist/contracts/miso_record/deps/sui/vec_set.js.map +1 -0
- package/dist/contracts/miso_record/pressing.d.ts +327 -0
- package/dist/contracts/miso_record/pressing.d.ts.map +1 -0
- package/dist/contracts/miso_record/pressing.js +345 -0
- package/dist/contracts/miso_record/pressing.js.map +1 -0
- package/dist/contracts/miso_record/record.d.ts +190 -0
- package/dist/contracts/miso_record/record.d.ts.map +1 -0
- package/dist/contracts/miso_record/record.js +226 -0
- package/dist/contracts/miso_record/record.js.map +1 -0
- package/dist/contracts/miso_record_shop/deps/std/type_name.d.ts +18 -0
- package/dist/contracts/miso_record_shop/deps/std/type_name.d.ts.map +1 -0
- package/dist/contracts/miso_record_shop/deps/std/type_name.js +20 -0
- package/dist/contracts/miso_record_shop/deps/std/type_name.js.map +1 -0
- package/dist/contracts/miso_record_shop/listing.d.ts +387 -0
- package/dist/contracts/miso_record_shop/listing.d.ts.map +1 -0
- package/dist/contracts/miso_record_shop/listing.js +380 -0
- package/dist/contracts/miso_record_shop/listing.js.map +1 -0
- package/dist/contracts/{release_revenue_distributor → miso_record_shop}/witness.d.ts +2 -2
- package/dist/contracts/miso_record_shop/witness.d.ts.map +1 -0
- package/dist/contracts/{release_revenue_distributor → miso_record_shop}/witness.js +2 -2
- package/dist/contracts/miso_record_shop/witness.js.map +1 -0
- package/dist/contracts/party_wallet/party_wallet.d.ts +41 -168
- package/dist/contracts/party_wallet/party_wallet.d.ts.map +1 -1
- package/dist/contracts/party_wallet/party_wallet.js +27 -152
- package/dist/contracts/party_wallet/party_wallet.js.map +1 -1
- package/dist/contracts/recording_advisory/recording_advisory.d.ts +3 -3
- package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -1
- package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -1
- package/dist/contracts/recording_credits/deps/miso_credit/credit.d.ts.map +1 -1
- package/dist/contracts/recording_credits/deps/miso_credit/credit.js.map +1 -1
- package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts.map +1 -1
- package/dist/contracts/recording_credits/deps/sui/vec_map.js.map +1 -1
- package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts.map +1 -1
- package/dist/contracts/recording_credits/deps/sui/vec_set.js.map +1 -1
- package/dist/contracts/recording_credits/recording_credits.d.ts +20 -20
- package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -1
- package/dist/contracts/recording_credits/recording_credits.js.map +1 -1
- package/dist/contracts/recording_credits/recording_party_role.d.ts +30 -30
- package/dist/contracts/recording_credits/recording_party_role.d.ts.map +1 -1
- package/dist/contracts/recording_credits/recording_party_role.js.map +1 -1
- package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +1 -1
- package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -1
- package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -1
- package/dist/contracts/recording_language/recording_language.d.ts +4 -4
- package/dist/contracts/recording_language/recording_language.d.ts.map +1 -1
- package/dist/contracts/recording_language/recording_language.js.map +1 -1
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts +4 -4
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts.map +1 -1
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js.map +1 -1
- package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +6 -6
- package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -1
- package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -1
- package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts +4 -4
- package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts.map +1 -1
- package/dist/contracts/recording_preview/deps/ori/walrus_data.js.map +1 -1
- package/dist/contracts/recording_preview/recording_preview.d.ts +6 -6
- package/dist/contracts/recording_preview/recording_preview.d.ts.map +1 -1
- package/dist/contracts/recording_preview/recording_preview.js.map +1 -1
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +21 -109
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -1
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +15 -100
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -1
- package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts +92 -0
- package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts.map +1 -0
- package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js +85 -0
- package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js.map +1 -0
- package/dist/contracts/{composition_royalty_pool → recording_royalty_pool_plugin}/witness.d.ts +1 -1
- package/dist/contracts/recording_royalty_pool_plugin/witness.d.ts.map +1 -0
- package/dist/contracts/{party_wallet → recording_royalty_pool_plugin}/witness.js +1 -1
- package/dist/contracts/recording_royalty_pool_plugin/witness.js.map +1 -0
- package/dist/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.d.ts +7 -7
- package/dist/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.d.ts.map +1 -1
- package/dist/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.js +1 -1
- package/dist/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.js.map +1 -1
- package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts +7 -7
- package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts.map +1 -1
- package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js +1 -1
- package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js.map +1 -1
- package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts.map +1 -1
- package/dist/contracts/release_cover_art/deps/per_track/per_track.js.map +1 -1
- package/dist/contracts/release_cover_art/release_cover_art.d.ts +23 -23
- package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -1
- package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -1
- package/dist/contracts/release_credits/deps/miso_credit/credit.d.ts.map +1 -1
- package/dist/contracts/release_credits/deps/miso_credit/credit.js.map +1 -1
- package/dist/contracts/release_credits/deps/sui/vec_map.d.ts.map +1 -1
- package/dist/contracts/release_credits/deps/sui/vec_map.js.map +1 -1
- package/dist/contracts/release_credits/release_credits.d.ts +10 -10
- package/dist/contracts/release_credits/release_credits.d.ts.map +1 -1
- package/dist/contracts/release_credits/release_credits.js.map +1 -1
- package/dist/contracts/release_description/release_description.d.ts +4 -4
- package/dist/contracts/release_description/release_description.d.ts.map +1 -1
- package/dist/contracts/release_description/release_description.js.map +1 -1
- package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +41 -42
- package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -1
- package/dist/contracts/release_dsp_link/release_dsp_link.js +4 -5
- package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -1
- package/dist/contracts/release_genre/deps/per_track/per_track.d.ts.map +1 -1
- package/dist/contracts/release_genre/deps/per_track/per_track.js.map +1 -1
- package/dist/contracts/release_genre/release_genre.d.ts +15 -15
- package/dist/contracts/release_genre/release_genre.d.ts.map +1 -1
- package/dist/contracts/release_genre/release_genre.js.map +1 -1
- package/dist/contracts/release_kind/release_kind.d.ts +4 -4
- package/dist/contracts/release_kind/release_kind.d.ts.map +1 -1
- package/dist/contracts/release_kind/release_kind.js.map +1 -1
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +46 -59
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -1
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +27 -48
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -1
- package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts +75 -0
- package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts.map +1 -0
- package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js +80 -0
- package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js.map +1 -0
- package/dist/contracts/{recording_royalty_pool → release_revenue_distributor_plugin}/witness.d.ts +1 -1
- package/dist/contracts/release_revenue_distributor_plugin/witness.d.ts.map +1 -0
- package/dist/contracts/{composition_royalty_pool → release_revenue_distributor_plugin}/witness.js +1 -1
- package/dist/contracts/release_revenue_distributor_plugin/witness.js.map +1 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +5 -5
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -1
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -1
- package/dist/contracts/routed_stake/deps/std/type_name.d.ts +1 -1
- package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -1
- package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -1
- package/dist/contracts/routed_stake/deps/sui/balance.d.ts +1 -1
- package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -1
- package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -1
- package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -1
- package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -1
- package/dist/contracts/routed_stake/routed_stake.d.ts +15 -15
- package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -1
- package/dist/contracts/routed_stake/routed_stake.js.map +1 -1
- package/dist/contracts/royalty_pool/deps/std/type_name.d.ts +1 -1
- package/dist/contracts/royalty_pool/deps/std/type_name.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/deps/std/type_name.js.map +1 -1
- package/dist/contracts/royalty_pool/deps/sui/balance.d.ts +1 -1
- package/dist/contracts/royalty_pool/deps/sui/balance.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/deps/sui/balance.js.map +1 -1
- package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/deps/sui/vec_map.js.map +1 -1
- package/dist/contracts/royalty_pool/pool.d.ts +19 -19
- package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/pool.js.map +1 -1
- package/dist/contracts/royalty_pool/stake.d.ts +9 -9
- package/dist/contracts/royalty_pool/stake.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/stake.js.map +1 -1
- package/dist/contracts/vault/deps/sui/bag.d.ts +2 -2
- package/dist/contracts/vault/deps/sui/bag.d.ts.map +1 -1
- package/dist/contracts/vault/deps/sui/bag.js.map +1 -1
- package/dist/contracts/vault/deps/sui/borrow.d.ts.map +1 -1
- package/dist/contracts/vault/deps/sui/borrow.js.map +1 -1
- package/dist/contracts/vault/vault.d.ts +19 -93
- package/dist/contracts/vault/vault.d.ts.map +1 -1
- package/dist/contracts/vault/vault.js +16 -95
- package/dist/contracts/vault/vault.js.map +1 -1
- package/dist/contracts.d.ts +6 -3
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +9 -5
- package/dist/contracts.js.map +1 -1
- package/dist/deployments.d.ts +156 -77
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +146 -32
- package/dist/deployments.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +9 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +23 -0
- package/dist/internal.js.map +1 -1
- package/dist/mix.d.ts +144 -0
- package/dist/mix.d.ts.map +1 -0
- package/dist/mix.js +656 -0
- package/dist/mix.js.map +1 -0
- package/dist/pressing.d.ts +72 -156
- package/dist/pressing.d.ts.map +1 -1
- package/dist/pressing.js +269 -261
- package/dist/pressing.js.map +1 -1
- package/dist/publication.d.ts +6 -6
- package/dist/publication.d.ts.map +1 -1
- package/dist/publication.js +134 -90
- package/dist/publication.js.map +1 -1
- package/dist/read/catalog.d.ts +8 -5
- package/dist/read/catalog.d.ts.map +1 -1
- package/dist/read/catalog.js +47 -35
- package/dist/read/catalog.js.map +1 -1
- package/dist/read/config.d.ts +6 -4
- package/dist/read/config.d.ts.map +1 -1
- package/dist/read/config.js +10 -3
- package/dist/read/config.js.map +1 -1
- package/dist/read/index.d.ts +1 -1
- package/dist/read/index.d.ts.map +1 -1
- package/dist/read/index.js +1 -1
- package/dist/read/index.js.map +1 -1
- package/dist/read/internal/scalars.d.ts.map +1 -1
- package/dist/read/internal/scalars.js +4 -3
- package/dist/read/internal/scalars.js.map +1 -1
- package/dist/read/internal/walrus.d.ts.map +1 -1
- package/dist/read/internal/walrus.js +2 -1
- package/dist/read/internal/walrus.js.map +1 -1
- package/dist/read/receipts.d.ts +21 -12
- package/dist/read/receipts.d.ts.map +1 -1
- package/dist/read/receipts.js +159 -56
- package/dist/read/receipts.js.map +1 -1
- package/dist/read/types.d.ts +34 -24
- package/dist/read/types.d.ts.map +1 -1
- package/dist/read/wallet.d.ts.map +1 -1
- package/dist/read/wallet.js +31 -46
- package/dist/read/wallet.js.map +1 -1
- package/dist/vault.d.ts +81 -48
- package/dist/vault.d.ts.map +1 -1
- package/dist/vault.js +173 -174
- package/dist/vault.js.map +1 -1
- package/package.json +17 -7
- package/src/client.ts +618 -120
- package/src/contracts/composition_credits/composition_credits.ts +3 -2
- package/src/contracts/composition_credits/composition_party_role.ts +5 -4
- package/src/contracts/composition_credits/deps/miso_credit/credit.ts +1 -0
- package/src/contracts/composition_credits/deps/sui/vec_map.ts +1 -0
- package/src/contracts/composition_routed_stake/composition_routed_stake.ts +36 -146
- package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +28 -169
- package/src/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.ts +165 -0
- package/src/contracts/{recording_royalty_pool → composition_royalty_pool_plugin}/witness.ts +2 -1
- package/src/contracts/cover_art/cover_art.ts +2 -1
- package/src/contracts/cover_art/deps/ori/walrus_data.ts +1 -0
- package/src/contracts/genre/genre.ts +3 -2
- package/src/contracts/{miso_pressing → miso_record}/deps/std/type_name.ts +1 -0
- package/src/contracts/miso_record/deps/sui/vec_set.ts +22 -0
- package/src/contracts/miso_record/pressing.ts +523 -0
- package/src/contracts/miso_record/record.ts +339 -0
- package/src/contracts/miso_record_shop/deps/std/type_name.ts +23 -0
- package/src/contracts/miso_record_shop/listing.ts +603 -0
- package/src/contracts/{release_revenue_distributor → miso_record_shop}/witness.ts +3 -2
- package/src/contracts/party_wallet/party_wallet.ts +41 -256
- package/src/contracts/recording_advisory/recording_advisory.ts +4 -3
- package/src/contracts/recording_credits/deps/miso_credit/credit.ts +1 -0
- package/src/contracts/recording_credits/deps/sui/vec_map.ts +1 -0
- package/src/contracts/recording_credits/deps/sui/vec_set.ts +1 -0
- package/src/contracts/recording_credits/recording_credits.ts +3 -2
- package/src/contracts/recording_credits/recording_party_role.ts +5 -4
- package/src/contracts/recording_language/deps/language_code/language_code.ts +1 -0
- package/src/contracts/recording_language/recording_language.ts +5 -4
- package/src/contracts/recording_master_reference/deps/ori/walrus_data.ts +1 -0
- package/src/contracts/recording_master_reference/recording_master_reference.ts +6 -5
- package/src/contracts/recording_preview/deps/ori/walrus_data.ts +1 -0
- package/src/contracts/recording_preview/recording_preview.ts +2 -1
- package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +27 -172
- package/src/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.ts +167 -0
- package/src/contracts/{party_wallet → recording_royalty_pool_plugin}/witness.ts +2 -1
- package/src/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.ts +2 -1
- package/src/contracts/release_cover_art/deps/cover_art/cover_art.ts +3 -2
- package/src/contracts/release_cover_art/deps/per_track/per_track.ts +3 -2
- package/src/contracts/release_cover_art/release_cover_art.ts +2 -1
- package/src/contracts/release_credits/deps/miso_credit/credit.ts +1 -0
- package/src/contracts/release_credits/deps/sui/vec_map.ts +1 -0
- package/src/contracts/release_credits/release_credits.ts +4 -3
- package/src/contracts/release_credits/release_party_role.ts +4 -4
- package/src/contracts/release_description/release_description.ts +6 -5
- package/src/contracts/release_dsp_link/release_dsp_link.ts +8 -8
- package/src/contracts/release_genre/deps/per_track/per_track.ts +3 -2
- package/src/contracts/release_genre/release_genre.ts +4 -3
- package/src/contracts/release_kind/release_kind.ts +5 -4
- package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +50 -85
- package/src/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.ts +145 -0
- package/src/contracts/{composition_royalty_pool → release_revenue_distributor_plugin}/witness.ts +2 -1
- package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +1 -0
- package/src/contracts/routed_stake/deps/std/type_name.ts +1 -0
- package/src/contracts/routed_stake/deps/sui/balance.ts +1 -0
- package/src/contracts/routed_stake/deps/sui/vec_map.ts +1 -0
- package/src/contracts/routed_stake/routed_stake.ts +4 -3
- package/src/contracts/royalty_pool/deps/std/type_name.ts +1 -0
- package/src/contracts/royalty_pool/deps/sui/balance.ts +1 -0
- package/src/contracts/royalty_pool/deps/sui/vec_map.ts +1 -0
- package/src/contracts/royalty_pool/pool.ts +1 -0
- package/src/contracts/royalty_pool/stake.ts +1 -0
- package/src/contracts/vault/deps/sui/bag.ts +3 -2
- package/src/contracts/vault/deps/sui/borrow.ts +2 -1
- package/src/contracts/vault/vault.ts +27 -152
- package/src/contracts.ts +9 -5
- package/src/deployments.ts +273 -55
- package/src/index.ts +5 -0
- package/src/internal.ts +27 -0
- package/src/mix.ts +910 -0
- package/src/pressing.ts +428 -423
- package/src/publication.ts +148 -101
- package/src/read/catalog.ts +49 -34
- package/src/read/config.ts +19 -8
- package/src/read/index.ts +9 -1
- package/src/read/internal/scalars.ts +4 -2
- package/src/read/internal/walrus.ts +2 -1
- package/src/read/receipts.ts +181 -66
- package/src/read/types.ts +35 -22
- package/src/read/wallet.ts +29 -50
- package/src/vault.ts +275 -271
- package/dist/contracts/composition_routed_stake/witness.d.ts +0 -7
- package/dist/contracts/composition_routed_stake/witness.d.ts.map +0 -1
- package/dist/contracts/composition_routed_stake/witness.js +0 -9
- package/dist/contracts/composition_routed_stake/witness.js.map +0 -1
- package/dist/contracts/composition_royalty_pool/witness.d.ts.map +0 -1
- package/dist/contracts/composition_royalty_pool/witness.js.map +0 -1
- package/dist/contracts/miso_pressing/certificate.d.ts +0 -89
- package/dist/contracts/miso_pressing/certificate.d.ts.map +0 -1
- package/dist/contracts/miso_pressing/certificate.js +0 -108
- package/dist/contracts/miso_pressing/certificate.js.map +0 -1
- package/dist/contracts/miso_pressing/deps/std/type_name.d.ts.map +0 -1
- package/dist/contracts/miso_pressing/deps/std/type_name.js.map +0 -1
- package/dist/contracts/miso_pressing/listing.d.ts +0 -434
- package/dist/contracts/miso_pressing/listing.d.ts.map +0 -1
- package/dist/contracts/miso_pressing/listing.js +0 -401
- package/dist/contracts/miso_pressing/listing.js.map +0 -1
- package/dist/contracts/miso_pressing/pressing.d.ts +0 -334
- package/dist/contracts/miso_pressing/pressing.d.ts.map +0 -1
- package/dist/contracts/miso_pressing/pressing.js +0 -298
- package/dist/contracts/miso_pressing/pressing.js.map +0 -1
- package/dist/contracts/party_wallet/witness.d.ts.map +0 -1
- package/dist/contracts/party_wallet/witness.js.map +0 -1
- package/dist/contracts/recording_royalty_pool/witness.d.ts.map +0 -1
- package/dist/contracts/recording_royalty_pool/witness.js.map +0 -1
- package/dist/contracts/release_revenue_distributor/witness.d.ts.map +0 -1
- package/dist/contracts/release_revenue_distributor/witness.js.map +0 -1
- package/src/contracts/composition_routed_stake/witness.ts +0 -11
- package/src/contracts/miso_pressing/certificate.ts +0 -164
- package/src/contracts/miso_pressing/listing.ts +0 -592
- package/src/contracts/miso_pressing/pressing.ts +0 -399
- /package/dist/contracts/{miso_pressing → miso_record}/deps/std/type_name.js +0 -0
package/src/read/catalog.ts
CHANGED
|
@@ -14,10 +14,12 @@ import {
|
|
|
14
14
|
deriveListingId,
|
|
15
15
|
getListing,
|
|
16
16
|
getPressing,
|
|
17
|
+
getRecord,
|
|
17
18
|
getSale,
|
|
18
19
|
type ListingView as ContractListingView,
|
|
19
20
|
type PressingView as ContractPressingView,
|
|
20
21
|
} from "../pressing.ts";
|
|
22
|
+
import { requireRecordSalesDeployment } from "../deployments.ts";
|
|
21
23
|
import {
|
|
22
24
|
getReleaseCoversByIds,
|
|
23
25
|
parseReleaseCoverContent,
|
|
@@ -36,12 +38,16 @@ import {
|
|
|
36
38
|
releaseKindFieldId,
|
|
37
39
|
} from "../release-extensions.ts";
|
|
38
40
|
import { getRecordingMasterReferencesByIds } from "../recording-extensions.ts";
|
|
41
|
+
import {
|
|
42
|
+
getReleaseMixReferences,
|
|
43
|
+
walrusBlobIdFromU256,
|
|
44
|
+
} from "../mix.ts";
|
|
39
45
|
import { getTrackCreditsByRecordingIds } from "../catalog.ts";
|
|
40
46
|
import { getReleaseById, getReleasesByIds, isNotFound } from "@misonetwork/sdk";
|
|
41
47
|
import type { Release } from "@misonetwork/sdk";
|
|
42
48
|
import type { MisoClient } from "./client.ts";
|
|
43
49
|
import { getRecordingTitles, parseReleaseObject } from "./works.ts";
|
|
44
|
-
import { int
|
|
50
|
+
import { int } from "./internal/scalars.ts";
|
|
45
51
|
import {
|
|
46
52
|
quiltPatchId,
|
|
47
53
|
u256ToB64Url,
|
|
@@ -122,29 +128,23 @@ function toPressingView(pressing: ContractPressingView): PressingView {
|
|
|
122
128
|
return {
|
|
123
129
|
id: pressing.id,
|
|
124
130
|
releaseId: pressing.releaseId,
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
startTimestampMs: Number(pressing.state.startTimestampMs ?? 0n),
|
|
130
|
-
}
|
|
131
|
-
: pressing.state.kind === "paused"
|
|
132
|
-
? { kind: "paused" }
|
|
133
|
-
: { kind: "active" },
|
|
134
|
-
supply: u64(pressing.supply),
|
|
131
|
+
edition: pressing.edition,
|
|
132
|
+
supply: pressing.supply,
|
|
133
|
+
maxSupply: pressing.maxSupply,
|
|
134
|
+
distributors: [...pressing.distributors],
|
|
135
135
|
};
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
function toListingView(listing: ContractListingView): ListingView {
|
|
139
139
|
const price: Price = {
|
|
140
|
-
kind: listing.
|
|
141
|
-
amount:
|
|
140
|
+
kind: listing.pricing.kind,
|
|
141
|
+
amount: listing.pricing.amount,
|
|
142
142
|
};
|
|
143
143
|
return {
|
|
144
144
|
id: listing.id,
|
|
145
145
|
pressingId: listing.pressingId,
|
|
146
146
|
releaseId: listing.releaseId,
|
|
147
|
-
price,
|
|
147
|
+
pricing: price,
|
|
148
148
|
currency: currencyInfo(listing.currencyType),
|
|
149
149
|
state: listing.state,
|
|
150
150
|
};
|
|
@@ -162,10 +162,11 @@ export async function getPressingView(
|
|
|
162
162
|
client: MisoClient,
|
|
163
163
|
pressingId: string,
|
|
164
164
|
): Promise<PressingView | null> {
|
|
165
|
+
const sales = requireRecordSalesDeployment(client.config.recordSales);
|
|
165
166
|
const pressing = await getPressing(
|
|
166
167
|
client.protocol,
|
|
167
168
|
pressingId,
|
|
168
|
-
|
|
169
|
+
sales.recordPackageId,
|
|
169
170
|
);
|
|
170
171
|
return pressing ? toPressingView(pressing) : null;
|
|
171
172
|
}
|
|
@@ -176,9 +177,9 @@ export async function getListingView(
|
|
|
176
177
|
pressingId: string,
|
|
177
178
|
currencyType: string,
|
|
178
179
|
): Promise<ListingView | null> {
|
|
179
|
-
const
|
|
180
|
-
const listingId = deriveListingId(pressingId, currencyType,
|
|
181
|
-
const listing = await getListing(client.protocol, listingId,
|
|
180
|
+
const sales = requireRecordSalesDeployment(client.config.recordSales);
|
|
181
|
+
const listingId = deriveListingId(pressingId, currencyType, sales.recordShopPackageId);
|
|
182
|
+
const listing = await getListing(client.protocol, listingId, sales.recordShopPackageId);
|
|
182
183
|
return listing ? toListingView(listing) : null;
|
|
183
184
|
}
|
|
184
185
|
|
|
@@ -207,13 +208,15 @@ export function primaryArtistNames(credits: Credit[]): string[] {
|
|
|
207
208
|
* Number the protocol's flat tracklist. Display grouping such as discs belongs
|
|
208
209
|
* to metadata extensions and can be layered onto this projection later.
|
|
209
210
|
*/
|
|
210
|
-
function toTracks(
|
|
211
|
+
export function toTracks(
|
|
211
212
|
release: Release,
|
|
212
213
|
titles: Record<string, string>,
|
|
213
214
|
masterBlobIds: Partial<Record<string, string>>,
|
|
215
|
+
mixBlobIds: Partial<Record<number, string>> = {},
|
|
214
216
|
): TrackView[] {
|
|
215
217
|
return release.tracks.map((track, index) => {
|
|
216
218
|
const masterBlobId = masterBlobIds[track.recordingId];
|
|
219
|
+
const mixBlobId = mixBlobIds[index];
|
|
217
220
|
return {
|
|
218
221
|
no: `${index + 1}`,
|
|
219
222
|
title: titles[track.recordingId] ?? "Untitled",
|
|
@@ -222,6 +225,7 @@ function toTracks(
|
|
|
222
225
|
splitBps: int(track.splitBps.value),
|
|
223
226
|
disc: 1,
|
|
224
227
|
...(masterBlobId ? { masterBlobId } : {}),
|
|
228
|
+
...(mixBlobId ? { mixBlobId } : {}),
|
|
225
229
|
};
|
|
226
230
|
});
|
|
227
231
|
}
|
|
@@ -369,7 +373,8 @@ export async function getReleaseDetail(
|
|
|
369
373
|
);
|
|
370
374
|
|
|
371
375
|
const recordingIds = release.tracks.map((track) => track.recordingId);
|
|
372
|
-
const
|
|
376
|
+
const mixPackageId = client.config.protocol.releaseMixReference;
|
|
377
|
+
const [titles, masterReferences, mixReferences, trackCredits] = await Promise.all([
|
|
373
378
|
getRecordingTitles(
|
|
374
379
|
client.protocol,
|
|
375
380
|
client.graphql,
|
|
@@ -381,6 +386,9 @@ export async function getReleaseDetail(
|
|
|
381
386
|
recordingIds,
|
|
382
387
|
client.config.protocol.recordingMasterReference,
|
|
383
388
|
).catch(() => ({})),
|
|
389
|
+
mixPackageId
|
|
390
|
+
? getReleaseMixReferences(client.protocol, releaseId, mixPackageId).catch(() => null)
|
|
391
|
+
: Promise.resolve(null),
|
|
384
392
|
options.include?.includes("trackCredits")
|
|
385
393
|
? getTrackCreditsForRecordingIds(client, recordingIds)
|
|
386
394
|
: Promise.resolve(undefined),
|
|
@@ -389,6 +397,11 @@ export async function getReleaseDetail(
|
|
|
389
397
|
for (const [recordingId, blobId] of Object.entries(masterReferences)) {
|
|
390
398
|
if (blobId) masterBlobIds[recordingId] = u256ToB64Url(blobId);
|
|
391
399
|
}
|
|
400
|
+
const mixBlobIds: Record<number, string> = {};
|
|
401
|
+
for (let index = 0; index < (mixReferences?.length ?? 0); index += 1) {
|
|
402
|
+
const reference = mixReferences?.[index];
|
|
403
|
+
if (reference) mixBlobIds[index] = walrusBlobIdFromU256(reference.blobId);
|
|
404
|
+
}
|
|
392
405
|
|
|
393
406
|
const creditViews = credits ?? [];
|
|
394
407
|
return {
|
|
@@ -403,7 +416,7 @@ export async function getReleaseDetail(
|
|
|
403
416
|
credits: creditViews,
|
|
404
417
|
primaryArtists: primaryArtistNames(creditViews),
|
|
405
418
|
discCount: release.tracks.length > 0 ? 1 : 0,
|
|
406
|
-
tracks: toTracks(release, titles, masterBlobIds),
|
|
419
|
+
tracks: toTracks(release, titles, masterBlobIds, mixBlobIds),
|
|
407
420
|
...(trackCredits !== undefined ? { trackCredits } : {}),
|
|
408
421
|
};
|
|
409
422
|
}
|
|
@@ -511,8 +524,9 @@ export async function getPressingPreview(
|
|
|
511
524
|
title: release.title,
|
|
512
525
|
subtitle: null,
|
|
513
526
|
coverUrl: cover?.still.url ?? null,
|
|
514
|
-
|
|
527
|
+
edition: pressing.edition,
|
|
515
528
|
supply: pressing.supply,
|
|
529
|
+
maxSupply: pressing.maxSupply,
|
|
516
530
|
trackCount: release.tracks.length,
|
|
517
531
|
};
|
|
518
532
|
}
|
|
@@ -525,13 +539,17 @@ export async function getPressingPreview(
|
|
|
525
539
|
export async function getSaleDetail(
|
|
526
540
|
client: MisoClient,
|
|
527
541
|
releaseId: string,
|
|
542
|
+
edition: number,
|
|
528
543
|
currencyType: string,
|
|
529
544
|
options: GetReleaseOptions = {},
|
|
530
545
|
): Promise<SaleDetail | null> {
|
|
546
|
+
const sales = requireRecordSalesDeployment(client.config.recordSales);
|
|
531
547
|
const sale = await getSale(client.protocol, {
|
|
532
548
|
releaseId,
|
|
549
|
+
edition,
|
|
533
550
|
currencyType,
|
|
534
|
-
|
|
551
|
+
recordPackageId: sales.recordPackageId,
|
|
552
|
+
recordShopPackageId: sales.recordShopPackageId,
|
|
535
553
|
});
|
|
536
554
|
if (!sale.pressing || !sale.listing) return null;
|
|
537
555
|
const release = await getReleaseDetail(client, sale.pressing.releaseId, options);
|
|
@@ -543,20 +561,20 @@ export async function getSaleDetail(
|
|
|
543
561
|
/**
|
|
544
562
|
* The records currently on sale.
|
|
545
563
|
*
|
|
546
|
-
* Configured by release + currency:
|
|
547
|
-
* permanent derived addresses. There is no mutable Pressing pointer or edition
|
|
548
|
-
* replacement in the current ABI.
|
|
564
|
+
* Configured by release + edition + currency: both addresses are deterministic.
|
|
549
565
|
*/
|
|
550
566
|
export async function getDiscoverShelf(
|
|
551
567
|
client: MisoClient,
|
|
552
568
|
): Promise<DiscoverItem[]> {
|
|
553
569
|
const configuredSales = [...client.config.discoverSales];
|
|
570
|
+
const sales = requireRecordSalesDeployment(client.config.recordSales);
|
|
554
571
|
const settled = await Promise.all(
|
|
555
572
|
configuredSales.map(async (configured) => ({
|
|
556
573
|
configured,
|
|
557
574
|
result: await getSale(client.protocol, {
|
|
558
575
|
...configured,
|
|
559
|
-
|
|
576
|
+
recordPackageId: sales.recordPackageId,
|
|
577
|
+
recordShopPackageId: sales.recordShopPackageId,
|
|
560
578
|
}),
|
|
561
579
|
})),
|
|
562
580
|
);
|
|
@@ -620,13 +638,10 @@ export async function getRecordAlbum(
|
|
|
620
638
|
options: GetRecordAlbumOptions = {},
|
|
621
639
|
): Promise<RecordAlbum | null> {
|
|
622
640
|
try {
|
|
623
|
-
const
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
const json = (object?.json ?? {}) as Record<string, unknown>;
|
|
628
|
-
const raw = json.release_id;
|
|
629
|
-
const releaseId = typeof raw === "string" && raw ? raw : null;
|
|
641
|
+
const sales = requireRecordSalesDeployment(client.config.recordSales);
|
|
642
|
+
const record = await getRecord(client.protocol, recordId, sales.recordPackageId);
|
|
643
|
+
if (!record) return null;
|
|
644
|
+
const releaseId = record.releaseId;
|
|
630
645
|
const includeRelease =
|
|
631
646
|
options.include?.some(
|
|
632
647
|
(part) => part === "release" || part === "trackCredits",
|
package/src/read/config.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
// deployment is bundled for it.
|
|
13
13
|
|
|
14
14
|
import type { MisoDeployment } from "@misonetwork/sdk/deployments";
|
|
15
|
-
import { getMisoPlatformDeployment } from "../deployments.ts";
|
|
15
|
+
import { getMisoPlatformDeployment, type RecordSalesDeployment } from "../deployments.ts";
|
|
16
16
|
|
|
17
17
|
export type Network = "testnet" | "mainnet";
|
|
18
18
|
|
|
@@ -25,10 +25,6 @@ export function networkFrom(value: string | undefined): Network {
|
|
|
25
25
|
|
|
26
26
|
/** Package ids for the miso protocol core and the extensions the read layer touches. */
|
|
27
27
|
export interface ProtocolIds {
|
|
28
|
-
/** `miso_pressing` — permanent Pressing runs and per-currency Listings. */
|
|
29
|
-
pressing: string;
|
|
30
|
-
/** `miso_record` package — the exact owner/type namespace for `record::Record`. */
|
|
31
|
-
record: string;
|
|
32
28
|
/** `vault` — shared custody for protocol admin capabilities. */
|
|
33
29
|
vault: string;
|
|
34
30
|
/** `release_cover_art` — the release cover extension. */
|
|
@@ -37,6 +33,8 @@ export interface ProtocolIds {
|
|
|
37
33
|
releaseKind: string;
|
|
38
34
|
/** `recording_master_reference` — optional Walrus master pointers. */
|
|
39
35
|
recordingMasterReference: string;
|
|
36
|
+
/** `release_mix_reference` — optional per-track delivery descriptor pointers. */
|
|
37
|
+
releaseMixReference?: string;
|
|
40
38
|
/** `composition_credits` / `recording_credits` / `release_credits` extensions. */
|
|
41
39
|
compositionCredits: string;
|
|
42
40
|
recordingCredits: string;
|
|
@@ -57,6 +55,8 @@ export interface MisoConfig {
|
|
|
57
55
|
/** Complete package set used by the integrated `client.miso` SDK. */
|
|
58
56
|
deployment: MisoDeployment;
|
|
59
57
|
protocol: ProtocolIds;
|
|
58
|
+
/** Final Record/Record Shop deployment, or an explicit unavailable legacy state. */
|
|
59
|
+
recordSales: RecordSalesDeployment;
|
|
60
60
|
money: MoneyIds;
|
|
61
61
|
/** Sui gRPC-web endpoint the data plane reads through. */
|
|
62
62
|
grpcUrl: string;
|
|
@@ -81,6 +81,7 @@ export interface MisoConfig {
|
|
|
81
81
|
/** One release/currency pair to resolve by Pressing and Listing derived address. */
|
|
82
82
|
export interface DiscoverSale {
|
|
83
83
|
releaseId: string;
|
|
84
|
+
edition: number;
|
|
84
85
|
currencyType: string;
|
|
85
86
|
}
|
|
86
87
|
|
|
@@ -92,13 +93,23 @@ export type MisoConfigOverrides = Partial<
|
|
|
92
93
|
/** The config for `network`, derived from this SDK's verified deployment map. */
|
|
93
94
|
export function misoConfig(network: Network, overrides: MisoConfigOverrides = {}): MisoConfig {
|
|
94
95
|
const platform = getMisoPlatformDeployment(network);
|
|
96
|
+
const vaultPackageId =
|
|
97
|
+
platform.operations.status === "available"
|
|
98
|
+
? platform.operations.vault.packageId
|
|
99
|
+
: platform.operations.legacy?.vaultPackageId;
|
|
100
|
+
if (!vaultPackageId) {
|
|
101
|
+
throw new Error(
|
|
102
|
+
`@misofm/sdk/read: no current or legacy Vault type metadata for "${network}".`,
|
|
103
|
+
);
|
|
104
|
+
}
|
|
95
105
|
const config: MisoConfig = {
|
|
96
106
|
network,
|
|
97
107
|
deployment: platform.protocol,
|
|
108
|
+
recordSales: platform.recordSales,
|
|
98
109
|
protocol: {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
vault:
|
|
110
|
+
// Read-only legacy type discovery does not make this package an
|
|
111
|
+
// executable operations ABI; client call surfaces remain fail closed.
|
|
112
|
+
vault: vaultPackageId,
|
|
102
113
|
releaseCoverArt: platform.packages.releaseCoverArt,
|
|
103
114
|
releaseKind: platform.packages.releaseKind,
|
|
104
115
|
recordingMasterReference: platform.packages.recordingMasterReference,
|
package/src/read/index.ts
CHANGED
|
@@ -72,6 +72,14 @@ export {
|
|
|
72
72
|
ownsRecord,
|
|
73
73
|
} from "./wallet.ts";
|
|
74
74
|
|
|
75
|
-
export {
|
|
75
|
+
export {
|
|
76
|
+
breakdown,
|
|
77
|
+
findRecordSale,
|
|
78
|
+
findRecordSales,
|
|
79
|
+
getPurchaseReceipt,
|
|
80
|
+
getPurchaseReceipts,
|
|
81
|
+
isRecordSoldEventType,
|
|
82
|
+
recordSoldCurrencyType,
|
|
83
|
+
} from "./receipts.ts";
|
|
76
84
|
|
|
77
85
|
export type * from "./types.ts";
|
|
@@ -20,8 +20,10 @@ export function u64(v: NumericLike): string {
|
|
|
20
20
|
/** Base-unit scalar → decimal string, or `null` when absent/unparseable. */
|
|
21
21
|
export function u64OrNull(v: NumericLike): string | null {
|
|
22
22
|
if (v == null) return null;
|
|
23
|
-
if (typeof v === "bigint") return v.toString();
|
|
24
|
-
if (typeof v === "number")
|
|
23
|
+
if (typeof v === "bigint") return v >= 0n ? v.toString() : null;
|
|
24
|
+
if (typeof v === "number") {
|
|
25
|
+
return Number.isSafeInteger(v) && v >= 0 ? BigInt(v).toString() : null;
|
|
26
|
+
}
|
|
25
27
|
const s = v.trim();
|
|
26
28
|
return /^\d+$/.test(s) ? BigInt(s).toString() : null;
|
|
27
29
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
import { bcs } from "@mysten/sui/bcs";
|
|
5
5
|
import { toBase64 } from "@mysten/sui/utils";
|
|
6
|
+
import { walrusBlobIdFromU256 } from "../../mix.ts";
|
|
6
7
|
|
|
7
8
|
const u256 = bcs.u256();
|
|
8
9
|
|
|
@@ -11,7 +12,7 @@ function toBase64Url(bytes: Uint8Array): string {
|
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
export function u256ToB64Url(value: bigint | string): string {
|
|
14
|
-
return
|
|
15
|
+
return walrusBlobIdFromU256(value);
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
/** Build a blob URL with Walrus's non-strict default made explicit. */
|