@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/publication.ts
CHANGED
|
@@ -23,7 +23,11 @@ import {
|
|
|
23
23
|
deriveReleaseAdminCapId,
|
|
24
24
|
} from "@misonetwork/sdk";
|
|
25
25
|
import { derivePartyAdminCapId } from "@misonetwork/sdk/party";
|
|
26
|
-
import
|
|
26
|
+
import {
|
|
27
|
+
requireOperationsDeployment,
|
|
28
|
+
type AvailableOperationsDeployment,
|
|
29
|
+
type MisoPlatformDeployment,
|
|
30
|
+
} from "./deployments.ts";
|
|
27
31
|
import type { TxThunk } from "./transactions.ts";
|
|
28
32
|
import {
|
|
29
33
|
createShareStakes,
|
|
@@ -59,13 +63,10 @@ import {
|
|
|
59
63
|
import { setReleaseCover, setReleaseTrackCover } from "./cover.ts";
|
|
60
64
|
import {
|
|
61
65
|
custodyNewAdminCap,
|
|
66
|
+
deriveVaultAdminCapId,
|
|
62
67
|
directAdminCap,
|
|
63
68
|
disposeNewAdminCap,
|
|
64
|
-
initializeCompositionRoyaltyPool,
|
|
65
|
-
initializeRecordingRoyaltyPool,
|
|
66
|
-
installCompositionRoutedStakePlugin,
|
|
67
69
|
installCompositionRoyaltyPoolPlugin,
|
|
68
|
-
installPartyWalletPlugin,
|
|
69
70
|
installRecordingRoyaltyPoolPlugin,
|
|
70
71
|
installReleaseRevenueDistributorPlugin,
|
|
71
72
|
invokeWithAdminCap,
|
|
@@ -79,11 +80,11 @@ import {
|
|
|
79
80
|
derivePressingAdminCapId,
|
|
80
81
|
derivePressingId,
|
|
81
82
|
type ListingPrice,
|
|
82
|
-
type PressingRunState,
|
|
83
83
|
} from "./pressing.ts";
|
|
84
|
+
import { requireRecordSalesDeployment } from "./deployments.ts";
|
|
84
85
|
import { allCreatedByType, createdByExactType, type PlatformExecResult } from "./execute.ts";
|
|
85
|
-
import * as pressingContract from "./contracts/
|
|
86
|
-
import * as listingContract from "./contracts/
|
|
86
|
+
import * as pressingContract from "./contracts/miso_record/pressing.ts";
|
|
87
|
+
import * as listingContract from "./contracts/miso_record_shop/listing.ts";
|
|
87
88
|
|
|
88
89
|
const { composition, recording, release, track, party } = protocolContracts;
|
|
89
90
|
|
|
@@ -102,8 +103,6 @@ export type PublicationParty =
|
|
|
102
103
|
readonly create: "individual" | "group";
|
|
103
104
|
readonly name: string;
|
|
104
105
|
readonly custody: PublicationCustody;
|
|
105
|
-
/** Defaults to true with Vault custody. */
|
|
106
|
-
readonly installWallet?: boolean;
|
|
107
106
|
};
|
|
108
107
|
|
|
109
108
|
export interface PublicationCompositionCredit {
|
|
@@ -138,7 +137,6 @@ export interface PublicationComposition {
|
|
|
138
137
|
readonly custody: PublicationCustody;
|
|
139
138
|
readonly credits?: PublicationCompositionCredit[];
|
|
140
139
|
readonly royaltyPool?: { readonly currencyType: string };
|
|
141
|
-
readonly routedStake?: boolean;
|
|
142
140
|
}
|
|
143
141
|
|
|
144
142
|
type PublicationRecordingParent =
|
|
@@ -212,7 +210,10 @@ export interface PublicationRelease {
|
|
|
212
210
|
}
|
|
213
211
|
|
|
214
212
|
export interface PublicationPressing {
|
|
215
|
-
|
|
213
|
+
/** Positive edition number encoded as Move u16. */
|
|
214
|
+
readonly edition: number;
|
|
215
|
+
/** Immutable positive u32 ceiling, or null/omitted for an uncapped edition. */
|
|
216
|
+
readonly maxSupply?: number | null;
|
|
216
217
|
readonly listings: {
|
|
217
218
|
readonly currencyType: string;
|
|
218
219
|
readonly price: ListingPrice;
|
|
@@ -264,7 +265,24 @@ function releaseCapType(p: AtomicPublicationParams): string {
|
|
|
264
265
|
}
|
|
265
266
|
|
|
266
267
|
function pressingCapType(p: AtomicPublicationParams): string {
|
|
267
|
-
return `${p.deployment.
|
|
268
|
+
return `${requireRecordSalesDeployment(p.deployment.recordSales).recordPackageId}::pressing::PressingAdminCap`;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
function publicationUsesVault(p: AtomicPublicationParams): boolean {
|
|
272
|
+
return (
|
|
273
|
+
p.parties.some((node) => "create" in node && node.custody.kind === "vault") ||
|
|
274
|
+
p.compositions.some((node) => node.custody.kind === "vault") ||
|
|
275
|
+
p.recordings.some((node) => node.custody.kind === "vault") ||
|
|
276
|
+
p.release?.custody.kind === "vault" ||
|
|
277
|
+
p.release?.tracks.some((node) =>
|
|
278
|
+
"authority" in node && node.authority.kind === "vault"
|
|
279
|
+
) === true ||
|
|
280
|
+
p.pressing?.custody.kind === "vault"
|
|
281
|
+
);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
function operations(p: AtomicPublicationParams): AvailableOperationsDeployment {
|
|
285
|
+
return requireOperationsDeployment(p.deployment.operations);
|
|
268
286
|
}
|
|
269
287
|
|
|
270
288
|
function custody(
|
|
@@ -274,12 +292,13 @@ function custody(
|
|
|
274
292
|
configure?: Exclude<AdminCapCustody, { kind: "direct" }>["configure"],
|
|
275
293
|
): AdminCapCustody {
|
|
276
294
|
if (selected.kind === "direct") return { kind: "direct", owner: selected.owner };
|
|
295
|
+
const available = operations(p);
|
|
277
296
|
return {
|
|
278
297
|
kind: "vault",
|
|
279
298
|
owner: selected.owner,
|
|
280
|
-
vaultRegistry:
|
|
299
|
+
vaultRegistry: available.vault.registryId,
|
|
281
300
|
capType,
|
|
282
|
-
vaultPackageId:
|
|
301
|
+
vaultPackageId: available.vault.packageId,
|
|
283
302
|
configure,
|
|
284
303
|
};
|
|
285
304
|
}
|
|
@@ -311,24 +330,27 @@ function walrusBlob(tx: Transaction, p: AtomicPublicationParams, blobId: bigint
|
|
|
311
330
|
});
|
|
312
331
|
}
|
|
313
332
|
|
|
314
|
-
function pressingState(tx: Transaction, p: AtomicPublicationParams, state: PressingRunState) {
|
|
315
|
-
const pkg = p.deployment.packages.pressing;
|
|
316
|
-
if (state.kind === "scheduled") {
|
|
317
|
-
return tx.add(pressingContract.newScheduledState({
|
|
318
|
-
package: pkg,
|
|
319
|
-
arguments: [BigInt(state.startTimestampMs)],
|
|
320
|
-
}));
|
|
321
|
-
}
|
|
322
|
-
if (state.kind === "paused") return tx.add(pressingContract.newPausedState({ package: pkg }));
|
|
323
|
-
return tx.add(pressingContract.newActiveState({ package: pkg }));
|
|
324
|
-
}
|
|
325
|
-
|
|
326
333
|
function listingPrice(tx: Transaction, p: AtomicPublicationParams, price: ListingPrice) {
|
|
327
|
-
const pkg = p.deployment.
|
|
334
|
+
const pkg = requireRecordSalesDeployment(p.deployment.recordSales).recordShopPackageId;
|
|
328
335
|
const args = { package: pkg, arguments: [BigInt(price.amount)] as [bigint] };
|
|
329
336
|
return tx.add(price.kind === "fixed"
|
|
330
|
-
? listingContract.
|
|
331
|
-
: listingContract.
|
|
337
|
+
? listingContract.fixed(args)
|
|
338
|
+
: listingContract.floor(args));
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
function publicationEdition(value: number): number {
|
|
342
|
+
if (!Number.isInteger(value) || value <= 0 || value > 0xffff) {
|
|
343
|
+
throw new RangeError("pressing.edition must be an integer from 1 to 65535");
|
|
344
|
+
}
|
|
345
|
+
return value;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
function publicationMaxSupply(value: number | null | undefined): number | null {
|
|
349
|
+
if (value == null) return null;
|
|
350
|
+
if (!Number.isInteger(value) || value <= 0 || value > 0xffff_ffff) {
|
|
351
|
+
throw new RangeError("pressing.maxSupply must be a positive u32 or null");
|
|
352
|
+
}
|
|
353
|
+
return value;
|
|
332
354
|
}
|
|
333
355
|
|
|
334
356
|
interface PublicationShareAllocation {
|
|
@@ -397,6 +419,7 @@ function publishComposition(
|
|
|
397
419
|
node: PublicationComposition,
|
|
398
420
|
parts: WorkParts,
|
|
399
421
|
): void {
|
|
422
|
+
const available = node.custody.kind === "vault" ? operations(p) : undefined;
|
|
400
423
|
const stakes = allocatePublicationShares(tx, p, node, parts.balance);
|
|
401
424
|
const typeArguments: [string] = [node.shareType];
|
|
402
425
|
if (node.custody.kind === "direct") {
|
|
@@ -411,45 +434,42 @@ function publishComposition(
|
|
|
411
434
|
}
|
|
412
435
|
custodyNewAdminCap(tx, {
|
|
413
436
|
adminCap: parts.adminCap,
|
|
414
|
-
vaultRegistry:
|
|
437
|
+
vaultRegistry: available!.vault.registryId,
|
|
415
438
|
capType: compositionCapType(p, node.shareType),
|
|
416
|
-
vaultPackageId:
|
|
439
|
+
vaultPackageId: available!.vault.packageId,
|
|
417
440
|
owner: node.custody.owner,
|
|
418
441
|
configure: (vault, vaultAdminCap) => {
|
|
419
442
|
if (node.royaltyPool) {
|
|
420
443
|
installCompositionRoyaltyPoolPlugin(tx, {
|
|
421
444
|
vault, vaultAdminCap, compositionShareType: node.shareType,
|
|
422
|
-
pluginPackageId:
|
|
445
|
+
pluginPackageId: available!.plugins.compositionRoyaltyPool,
|
|
423
446
|
});
|
|
447
|
+
const authority: AdminCapAuthority = {
|
|
448
|
+
kind: "vault", vault, vaultAdminCap,
|
|
449
|
+
capType: compositionCapType(p, node.shareType),
|
|
450
|
+
vaultPackageId: available!.vault.packageId,
|
|
451
|
+
};
|
|
424
452
|
const poolParams = {
|
|
425
|
-
|
|
453
|
+
authority, composition: parts.work,
|
|
426
454
|
compositionShareType: node.shareType,
|
|
427
455
|
currencyType: node.royaltyPool.currencyType,
|
|
428
|
-
|
|
456
|
+
actionPackageId: available!.actions.compositionRoyaltyPool,
|
|
429
457
|
};
|
|
458
|
+
const pool = newCompositionRoyaltyPool(tx, poolParams);
|
|
430
459
|
if (stakes.length > 0) {
|
|
431
|
-
const pool = newCompositionRoyaltyPool(tx, poolParams);
|
|
432
460
|
registerPublicationStakes(tx, p, node, stakes, pool, node.royaltyPool.currencyType);
|
|
433
|
-
shareRoyaltyPool(tx, {
|
|
434
|
-
pool,
|
|
435
|
-
shareType: node.shareType,
|
|
436
|
-
currencyType: node.royaltyPool.currencyType,
|
|
437
|
-
royaltyPoolPackageId: p.deployment.packages.royaltyPool,
|
|
438
|
-
});
|
|
439
|
-
} else {
|
|
440
|
-
initializeCompositionRoyaltyPool(tx, poolParams);
|
|
441
461
|
}
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
462
|
+
shareRoyaltyPool(tx, {
|
|
463
|
+
pool,
|
|
464
|
+
shareType: node.shareType,
|
|
465
|
+
currencyType: node.royaltyPool.currencyType,
|
|
466
|
+
royaltyPoolPackageId: p.deployment.packages.royaltyPool,
|
|
447
467
|
});
|
|
448
468
|
}
|
|
449
469
|
invokeWithAdminCap(tx, {
|
|
450
470
|
kind: "vault", vault, vaultAdminCap,
|
|
451
471
|
capType: compositionCapType(p, node.shareType),
|
|
452
|
-
vaultPackageId:
|
|
472
|
+
vaultPackageId: available!.vault.packageId,
|
|
453
473
|
}, {
|
|
454
474
|
target: `${p.deployment.protocol.miso}::composition::publish`,
|
|
455
475
|
typeArguments,
|
|
@@ -467,6 +487,7 @@ function publishRecording(
|
|
|
467
487
|
node: PublicationRecording,
|
|
468
488
|
parts: WorkParts,
|
|
469
489
|
): void {
|
|
490
|
+
const available = node.custody.kind === "vault" ? operations(p) : undefined;
|
|
470
491
|
const typeArguments: [string, string] = [node.shareType, node.compositionShareType];
|
|
471
492
|
const stakes = allocatePublicationShares(tx, p, node, parts.balance);
|
|
472
493
|
if (node.custody.kind === "direct") {
|
|
@@ -481,9 +502,9 @@ function publishRecording(
|
|
|
481
502
|
}
|
|
482
503
|
custodyNewAdminCap(tx, {
|
|
483
504
|
adminCap: parts.adminCap,
|
|
484
|
-
vaultRegistry:
|
|
505
|
+
vaultRegistry: available!.vault.registryId,
|
|
485
506
|
capType: recordingCapType(p, node.shareType),
|
|
486
|
-
vaultPackageId:
|
|
507
|
+
vaultPackageId: available!.vault.packageId,
|
|
487
508
|
owner: node.custody.owner,
|
|
488
509
|
configure: (vault, vaultAdminCap) => {
|
|
489
510
|
if (node.royaltyPool) {
|
|
@@ -491,32 +512,35 @@ function publishRecording(
|
|
|
491
512
|
vault, vaultAdminCap,
|
|
492
513
|
recordingShareType: node.shareType,
|
|
493
514
|
compositionShareType: node.compositionShareType,
|
|
494
|
-
pluginPackageId:
|
|
515
|
+
pluginPackageId: available!.plugins.recordingRoyaltyPool,
|
|
495
516
|
});
|
|
517
|
+
const authority: AdminCapAuthority = {
|
|
518
|
+
kind: "vault", vault, vaultAdminCap,
|
|
519
|
+
capType: recordingCapType(p, node.shareType),
|
|
520
|
+
vaultPackageId: available!.vault.packageId,
|
|
521
|
+
};
|
|
496
522
|
const poolParams = {
|
|
497
|
-
|
|
523
|
+
authority, recording: parts.work,
|
|
498
524
|
recordingShareType: node.shareType,
|
|
499
525
|
compositionShareType: node.compositionShareType,
|
|
500
526
|
currencyType: node.royaltyPool.currencyType,
|
|
501
|
-
|
|
527
|
+
actionPackageId: available!.actions.recordingRoyaltyPool,
|
|
502
528
|
};
|
|
529
|
+
const pool = newRecordingRoyaltyPool(tx, poolParams);
|
|
503
530
|
if (stakes.length > 0) {
|
|
504
|
-
const pool = newRecordingRoyaltyPool(tx, poolParams);
|
|
505
531
|
registerPublicationStakes(tx, p, node, stakes, pool, node.royaltyPool.currencyType);
|
|
506
|
-
shareRoyaltyPool(tx, {
|
|
507
|
-
pool,
|
|
508
|
-
shareType: node.shareType,
|
|
509
|
-
currencyType: node.royaltyPool.currencyType,
|
|
510
|
-
royaltyPoolPackageId: p.deployment.packages.royaltyPool,
|
|
511
|
-
});
|
|
512
|
-
} else {
|
|
513
|
-
initializeRecordingRoyaltyPool(tx, poolParams);
|
|
514
532
|
}
|
|
533
|
+
shareRoyaltyPool(tx, {
|
|
534
|
+
pool,
|
|
535
|
+
shareType: node.shareType,
|
|
536
|
+
currencyType: node.royaltyPool.currencyType,
|
|
537
|
+
royaltyPoolPackageId: p.deployment.packages.royaltyPool,
|
|
538
|
+
});
|
|
515
539
|
}
|
|
516
540
|
invokeWithAdminCap(tx, {
|
|
517
541
|
kind: "vault", vault, vaultAdminCap,
|
|
518
542
|
capType: recordingCapType(p, node.shareType),
|
|
519
|
-
vaultPackageId:
|
|
543
|
+
vaultPackageId: available!.vault.packageId,
|
|
520
544
|
}, {
|
|
521
545
|
target: `${p.deployment.protocol.miso}::recording::publish`,
|
|
522
546
|
typeArguments,
|
|
@@ -535,6 +559,7 @@ function publishReleaseObject(
|
|
|
535
559
|
releaseObject: TransactionObjectArgument,
|
|
536
560
|
adminCap: TransactionObjectArgument,
|
|
537
561
|
): void {
|
|
562
|
+
const available = node.custody.kind === "vault" ? operations(p) : undefined;
|
|
538
563
|
if (node.custody.kind === "direct") {
|
|
539
564
|
tx.add(release.publish({
|
|
540
565
|
package: p.deployment.protocol.miso,
|
|
@@ -545,21 +570,21 @@ function publishReleaseObject(
|
|
|
545
570
|
}
|
|
546
571
|
custodyNewAdminCap(tx, {
|
|
547
572
|
adminCap,
|
|
548
|
-
vaultRegistry:
|
|
573
|
+
vaultRegistry: available!.vault.registryId,
|
|
549
574
|
capType: releaseCapType(p),
|
|
550
|
-
vaultPackageId:
|
|
575
|
+
vaultPackageId: available!.vault.packageId,
|
|
551
576
|
owner: node.custody.owner,
|
|
552
577
|
configure: (vault, vaultAdminCap) => {
|
|
553
578
|
if (node.revenueDistribution) {
|
|
554
579
|
installReleaseRevenueDistributorPlugin(tx, {
|
|
555
580
|
vault, vaultAdminCap,
|
|
556
|
-
pluginPackageId:
|
|
581
|
+
pluginPackageId: available!.plugins.releaseRevenueDistributor,
|
|
557
582
|
});
|
|
558
583
|
}
|
|
559
584
|
invokeWithAdminCap(tx, {
|
|
560
585
|
kind: "vault", vault, vaultAdminCap,
|
|
561
586
|
capType: releaseCapType(p),
|
|
562
|
-
vaultPackageId:
|
|
587
|
+
vaultPackageId: available!.vault.packageId,
|
|
563
588
|
}, {
|
|
564
589
|
target: `${p.deployment.protocol.miso}::release::publish`,
|
|
565
590
|
arguments: [releaseObject, tx.object.clock()],
|
|
@@ -571,10 +596,16 @@ function publishReleaseObject(
|
|
|
571
596
|
|
|
572
597
|
/** Build the complete post-share catalog graph as one atomic PTB. */
|
|
573
598
|
export function publishAtomicCatalog(p: AtomicPublicationParams): TxThunk {
|
|
574
|
-
if (p
|
|
599
|
+
if (publicationUsesVault(p)) {
|
|
600
|
+
requireOperationsDeployment(p.deployment.operations);
|
|
601
|
+
}
|
|
602
|
+
if (p.pressing) {
|
|
603
|
+
requireRecordSalesDeployment(p.deployment.recordSales);
|
|
604
|
+
if (!p.release) throw new Error("A pressing requires a release");
|
|
605
|
+
}
|
|
575
606
|
for (const node of [...p.compositions, ...p.recordings]) {
|
|
576
|
-
if (
|
|
577
|
-
throw new Error(`${node.ref}:
|
|
607
|
+
if (node.royaltyPool && node.custody.kind !== "vault") {
|
|
608
|
+
throw new Error(`${node.ref}: permissionless royalty cranks require Vault custody`);
|
|
578
609
|
}
|
|
579
610
|
}
|
|
580
611
|
if (p.release?.revenueDistribution && p.release.custody.kind !== "vault") {
|
|
@@ -807,31 +838,51 @@ export function publishAtomicCatalog(p: AtomicPublicationParams): TxThunk {
|
|
|
807
838
|
|
|
808
839
|
let pressingParts: { pressing: TransactionObjectArgument; adminCap: TransactionObjectArgument } | undefined;
|
|
809
840
|
if (p.pressing && releaseObject && releaseAdminCap) {
|
|
841
|
+
const sales = requireRecordSalesDeployment(p.deployment.recordSales);
|
|
810
842
|
const created = tx.add(pressingContract._new({
|
|
811
|
-
package:
|
|
843
|
+
package: sales.recordPackageId,
|
|
812
844
|
arguments: [
|
|
813
845
|
releaseObject,
|
|
814
846
|
releaseAdminCap,
|
|
815
|
-
|
|
847
|
+
publicationEdition(p.pressing.edition),
|
|
848
|
+
publicationMaxSupply(p.pressing.maxSupply),
|
|
816
849
|
],
|
|
817
850
|
}));
|
|
818
851
|
pressingParts = {
|
|
819
852
|
pressing: requiredCommandResult(created, 0, "pressing::new"),
|
|
820
853
|
adminCap: requiredCommandResult(created, 1, "pressing::new"),
|
|
821
854
|
};
|
|
855
|
+
tx.add(pressingContract.authorizeDistributor({
|
|
856
|
+
package: sales.recordPackageId,
|
|
857
|
+
typeArguments: [`${sales.recordShopPackageId}::witness::Witness`],
|
|
858
|
+
arguments: [pressingParts.pressing, pressingParts.adminCap],
|
|
859
|
+
}));
|
|
822
860
|
for (const listing of p.pressing.listings) {
|
|
823
|
-
tx.add(listingContract._new({
|
|
824
|
-
package:
|
|
861
|
+
const createdListing = tx.add(listingContract._new({
|
|
862
|
+
package: sales.recordShopPackageId,
|
|
825
863
|
typeArguments: [listing.currencyType],
|
|
826
864
|
arguments: [
|
|
827
865
|
pressingParts.pressing,
|
|
828
866
|
pressingParts.adminCap,
|
|
829
867
|
listingPrice(tx, p, listing.price),
|
|
830
|
-
tx.add(listing.enabled === false
|
|
831
|
-
? listingContract.newDisabledState({ package: p.deployment.packages.pressing })
|
|
832
|
-
: listingContract.newEnabledState({ package: p.deployment.packages.pressing })),
|
|
833
868
|
],
|
|
834
869
|
}));
|
|
870
|
+
if (listing.enabled === false) {
|
|
871
|
+
tx.add(listingContract.setState({
|
|
872
|
+
package: sales.recordShopPackageId,
|
|
873
|
+
typeArguments: [listing.currencyType],
|
|
874
|
+
arguments: [
|
|
875
|
+
createdListing,
|
|
876
|
+
pressingParts.adminCap,
|
|
877
|
+
tx.add(listingContract.disabled({ package: sales.recordShopPackageId })),
|
|
878
|
+
],
|
|
879
|
+
}));
|
|
880
|
+
}
|
|
881
|
+
tx.add(listingContract.share({
|
|
882
|
+
package: sales.recordShopPackageId,
|
|
883
|
+
typeArguments: [listing.currencyType],
|
|
884
|
+
arguments: [createdListing],
|
|
885
|
+
}));
|
|
835
886
|
}
|
|
836
887
|
}
|
|
837
888
|
|
|
@@ -848,22 +899,13 @@ export function publishAtomicCatalog(p: AtomicPublicationParams): TxThunk {
|
|
|
848
899
|
package: p.deployment.protocol.misoParty,
|
|
849
900
|
arguments: [parts.party, parts.adminCap],
|
|
850
901
|
}));
|
|
851
|
-
disposeNewAdminCap(tx, parts.adminCap, custody(
|
|
852
|
-
p,
|
|
853
|
-
node.custody,
|
|
854
|
-
partyCapType(p),
|
|
855
|
-
node.custody.kind === "vault" && node.installWallet !== false
|
|
856
|
-
? (vault, vaultAdminCap) => installPartyWalletPlugin(tx, {
|
|
857
|
-
vault, vaultAdminCap,
|
|
858
|
-
pluginPackageId: p.deployment.packages.vaultPartyWalletPlugin,
|
|
859
|
-
})
|
|
860
|
-
: undefined,
|
|
861
|
-
));
|
|
902
|
+
disposeNewAdminCap(tx, parts.adminCap, custody(p, node.custody, partyCapType(p)));
|
|
862
903
|
}
|
|
863
904
|
|
|
864
905
|
if (p.pressing && pressingParts) {
|
|
906
|
+
const sales = requireRecordSalesDeployment(p.deployment.recordSales);
|
|
865
907
|
tx.add(pressingContract.share({
|
|
866
|
-
package:
|
|
908
|
+
package: sales.recordPackageId,
|
|
867
909
|
arguments: [pressingParts.pressing],
|
|
868
910
|
}));
|
|
869
911
|
disposeNewAdminCap(tx, pressingParts.adminCap, custody(
|
|
@@ -932,14 +974,14 @@ function findByShareType(
|
|
|
932
974
|
return matches[0]!.objectId;
|
|
933
975
|
}
|
|
934
976
|
|
|
935
|
-
function vaultsByCap(result: PlatformExecResult) {
|
|
977
|
+
function vaultsByCap(result: PlatformExecResult, vaultPackageId: string) {
|
|
936
978
|
const out = new Map<string, { vaultId: string; vaultAdminCapId: string }>();
|
|
937
979
|
for (const event of result.events) {
|
|
938
980
|
if (!event.eventType.includes("::vault::VaultCreatedEvent<")) continue;
|
|
939
981
|
const parsed = parseVaultCreatedEvent(event.bcs);
|
|
940
982
|
out.set(parsed.cap_id, {
|
|
941
983
|
vaultId: parsed.vault_id,
|
|
942
|
-
vaultAdminCapId: parsed.
|
|
984
|
+
vaultAdminCapId: deriveVaultAdminCapId(parsed.vault_id, vaultPackageId),
|
|
943
985
|
});
|
|
944
986
|
}
|
|
945
987
|
return out;
|
|
@@ -964,7 +1006,11 @@ export function parseAtomicPublicationResult(
|
|
|
964
1006
|
p: AtomicPublicationParams,
|
|
965
1007
|
result: PlatformExecResult,
|
|
966
1008
|
): AtomicPublicationResult {
|
|
967
|
-
const
|
|
1009
|
+
const available = publicationUsesVault(p) ? operations(p) : undefined;
|
|
1010
|
+
const vaultPackageId = available?.vault.packageId ?? "";
|
|
1011
|
+
const vaults = available
|
|
1012
|
+
? vaultsByCap(result, vaultPackageId)
|
|
1013
|
+
: new Map<string, { vaultId: string; vaultAdminCapId: string }>();
|
|
968
1014
|
const createdCompositions = allCreatedByType(result, "::composition::Composition<");
|
|
969
1015
|
const createdRecordings = allCreatedByType(result, "::recording::Recording<");
|
|
970
1016
|
const createdPools = allCreatedByType(result, "::pool::RoyaltyPool<");
|
|
@@ -992,7 +1038,7 @@ export function parseAtomicPublicationResult(
|
|
|
992
1038
|
id: parsed.party_id,
|
|
993
1039
|
adminCapId,
|
|
994
1040
|
created: true,
|
|
995
|
-
authority: authorityOut(result, vaults, node.custody, adminCapId, partyCapType(p),
|
|
1041
|
+
authority: authorityOut(result, vaults, node.custody, adminCapId, partyCapType(p), vaultPackageId),
|
|
996
1042
|
};
|
|
997
1043
|
});
|
|
998
1044
|
|
|
@@ -1004,7 +1050,7 @@ export function parseAtomicPublicationResult(
|
|
|
1004
1050
|
id,
|
|
1005
1051
|
adminCapId,
|
|
1006
1052
|
shareType: node.shareType,
|
|
1007
|
-
authority: authorityOut(result, vaults, node.custody, adminCapId, compositionCapType(p, node.shareType),
|
|
1053
|
+
authority: authorityOut(result, vaults, node.custody, adminCapId, compositionCapType(p, node.shareType), vaultPackageId),
|
|
1008
1054
|
royaltyPoolId: node.royaltyPool ? findByShareType(createdPools, node.shareType, "Composition RoyaltyPool") : undefined,
|
|
1009
1055
|
};
|
|
1010
1056
|
});
|
|
@@ -1018,7 +1064,7 @@ export function parseAtomicPublicationResult(
|
|
|
1018
1064
|
adminCapId,
|
|
1019
1065
|
shareType: node.shareType,
|
|
1020
1066
|
compositionShareType: node.compositionShareType,
|
|
1021
|
-
authority: authorityOut(result, vaults, node.custody, adminCapId, recordingCapType(p, node.shareType),
|
|
1067
|
+
authority: authorityOut(result, vaults, node.custody, adminCapId, recordingCapType(p, node.shareType), vaultPackageId),
|
|
1022
1068
|
royaltyPoolId: node.royaltyPool ? findByShareType(createdPools, node.shareType, "Recording RoyaltyPool") : undefined,
|
|
1023
1069
|
};
|
|
1024
1070
|
});
|
|
@@ -1030,18 +1076,19 @@ export function parseAtomicPublicationResult(
|
|
|
1030
1076
|
releaseOut = {
|
|
1031
1077
|
id,
|
|
1032
1078
|
adminCapId,
|
|
1033
|
-
authority: authorityOut(result, vaults, p.release.custody, adminCapId, releaseCapType(p),
|
|
1079
|
+
authority: authorityOut(result, vaults, p.release.custody, adminCapId, releaseCapType(p), vaultPackageId),
|
|
1034
1080
|
};
|
|
1035
1081
|
}
|
|
1036
1082
|
|
|
1037
1083
|
let pressingOut: AtomicPublicationResult["pressing"];
|
|
1038
1084
|
if (p.pressing && releaseOut) {
|
|
1039
|
-
const
|
|
1040
|
-
const
|
|
1085
|
+
const sales = requireRecordSalesDeployment(p.deployment.recordSales);
|
|
1086
|
+
const id = derivePressingId(releaseOut.id, p.pressing.edition, sales.recordPackageId);
|
|
1087
|
+
const adminCapId = derivePressingAdminCapId(id, sales.recordPackageId);
|
|
1041
1088
|
pressingOut = {
|
|
1042
1089
|
id,
|
|
1043
1090
|
adminCapId,
|
|
1044
|
-
authority: authorityOut(result, vaults, p.pressing.custody, adminCapId, pressingCapType(p),
|
|
1091
|
+
authority: authorityOut(result, vaults, p.pressing.custody, adminCapId, pressingCapType(p), vaultPackageId),
|
|
1045
1092
|
};
|
|
1046
1093
|
}
|
|
1047
1094
|
|