@misofm/platform 0.27.0 → 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.
Files changed (425) hide show
  1. package/README.md +309 -204
  2. package/dist/Miso.d.ts +403 -0
  3. package/dist/Miso.d.ts.map +1 -0
  4. package/dist/Miso.js +455 -0
  5. package/dist/Miso.js.map +1 -0
  6. package/dist/auth.d.ts +11 -1
  7. package/dist/auth.d.ts.map +1 -1
  8. package/dist/auth.js +16 -3
  9. package/dist/auth.js.map +1 -1
  10. package/dist/catalog.d.ts +8 -5
  11. package/dist/catalog.d.ts.map +1 -1
  12. package/dist/catalog.js +36 -19
  13. package/dist/catalog.js.map +1 -1
  14. package/dist/client.d.ts +52 -443
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +58 -775
  17. package/dist/client.js.map +1 -1
  18. package/dist/contracts/composition_credits/composition_credits.d.ts +38 -48
  19. package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -1
  20. package/dist/contracts/composition_credits/composition_credits.js +20 -4
  21. package/dist/contracts/composition_credits/composition_credits.js.map +1 -1
  22. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +64 -1
  23. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -1
  24. package/dist/contracts/composition_routed_stake/composition_routed_stake.js +66 -1
  25. package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -1
  26. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +52 -4
  27. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -1
  28. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +52 -4
  29. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -1
  30. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts +63 -1
  31. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts.map +1 -1
  32. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js +63 -1
  33. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js.map +1 -1
  34. package/dist/contracts/genre/genre.d.ts +10 -1
  35. package/dist/contracts/genre/genre.d.ts.map +1 -1
  36. package/dist/contracts/genre/genre.js +8 -1
  37. package/dist/contracts/genre/genre.js.map +1 -1
  38. package/dist/contracts/miso_pay/deps/std/type_name.d.ts.map +1 -0
  39. package/dist/contracts/miso_pay/deps/std/type_name.js.map +1 -0
  40. package/dist/contracts/miso_pay/pay.d.ts +209 -0
  41. package/dist/contracts/miso_pay/pay.d.ts.map +1 -0
  42. package/dist/contracts/miso_pay/pay.js +195 -0
  43. package/dist/contracts/miso_pay/pay.js.map +1 -0
  44. package/dist/contracts/party_cta/party_cta.d.ts +49 -3
  45. package/dist/contracts/party_cta/party_cta.d.ts.map +1 -1
  46. package/dist/contracts/party_cta/party_cta.js +27 -5
  47. package/dist/contracts/party_cta/party_cta.js.map +1 -1
  48. package/dist/contracts/party_genre/party_genre.d.ts +25 -0
  49. package/dist/contracts/party_genre/party_genre.d.ts.map +1 -1
  50. package/dist/contracts/party_genre/party_genre.js +14 -3
  51. package/dist/contracts/party_genre/party_genre.js.map +1 -1
  52. package/dist/contracts/party_media/party_media.d.ts +19 -3
  53. package/dist/contracts/party_media/party_media.d.ts.map +1 -1
  54. package/dist/contracts/party_media/party_media.js +20 -4
  55. package/dist/contracts/party_media/party_media.js.map +1 -1
  56. package/dist/contracts/party_platform_link/party_platform_link.d.ts +15 -7
  57. package/dist/contracts/party_platform_link/party_platform_link.d.ts.map +1 -1
  58. package/dist/contracts/party_platform_link/party_platform_link.js +15 -7
  59. package/dist/contracts/party_platform_link/party_platform_link.js.map +1 -1
  60. package/dist/contracts/party_profile/party_profile.d.ts +63 -8
  61. package/dist/contracts/party_profile/party_profile.d.ts.map +1 -1
  62. package/dist/contracts/party_profile/party_profile.js +33 -8
  63. package/dist/contracts/party_profile/party_profile.js.map +1 -1
  64. package/dist/contracts/party_roles/party_roles.d.ts +28 -3
  65. package/dist/contracts/party_roles/party_roles.d.ts.map +1 -1
  66. package/dist/contracts/party_roles/party_roles.js +19 -4
  67. package/dist/contracts/party_roles/party_roles.js.map +1 -1
  68. package/dist/contracts/party_tags/party_tags.d.ts +23 -3
  69. package/dist/contracts/party_tags/party_tags.d.ts.map +1 -1
  70. package/dist/contracts/party_tags/party_tags.js +16 -4
  71. package/dist/contracts/party_tags/party_tags.js.map +1 -1
  72. package/dist/contracts/party_wallet/party_wallet.d.ts +4 -1
  73. package/dist/contracts/party_wallet/party_wallet.d.ts.map +1 -1
  74. package/dist/contracts/party_wallet/party_wallet.js +2 -1
  75. package/dist/contracts/party_wallet/party_wallet.js.map +1 -1
  76. package/dist/contracts/platform_link/platform_link.d.ts +207 -0
  77. package/dist/contracts/platform_link/platform_link.d.ts.map +1 -0
  78. package/dist/contracts/platform_link/platform_link.js +209 -0
  79. package/dist/contracts/platform_link/platform_link.js.map +1 -0
  80. package/dist/contracts/record/pressing.d.ts +53 -7
  81. package/dist/contracts/record/pressing.d.ts.map +1 -1
  82. package/dist/contracts/record/pressing.js +50 -4
  83. package/dist/contracts/record/pressing.js.map +1 -1
  84. package/dist/contracts/record/record.d.ts +14 -0
  85. package/dist/contracts/record/record.d.ts.map +1 -1
  86. package/dist/contracts/record/record.js +15 -1
  87. package/dist/contracts/record/record.js.map +1 -1
  88. package/dist/contracts/record_shop/listing.d.ts +80 -35
  89. package/dist/contracts/record_shop/listing.d.ts.map +1 -1
  90. package/dist/contracts/record_shop/listing.js +76 -13
  91. package/dist/contracts/record_shop/listing.js.map +1 -1
  92. package/dist/contracts/recording_advisory/recording_advisory.d.ts +15 -15
  93. package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -1
  94. package/dist/contracts/recording_advisory/recording_advisory.js +15 -8
  95. package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -1
  96. package/dist/contracts/recording_credits/recording_credits.d.ts +95 -1350
  97. package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -1
  98. package/dist/contracts/recording_credits/recording_credits.js +63 -12
  99. package/dist/contracts/recording_credits/recording_credits.js.map +1 -1
  100. package/dist/contracts/recording_engine_session/recording_engine_session.d.ts +30 -49
  101. package/dist/contracts/recording_engine_session/recording_engine_session.d.ts.map +1 -1
  102. package/dist/contracts/recording_engine_session/recording_engine_session.js +19 -4
  103. package/dist/contracts/recording_engine_session/recording_engine_session.js.map +1 -1
  104. package/dist/contracts/recording_genre/recording_genre.d.ts +67 -9
  105. package/dist/contracts/recording_genre/recording_genre.d.ts.map +1 -1
  106. package/dist/contracts/recording_genre/recording_genre.js +53 -9
  107. package/dist/contracts/recording_genre/recording_genre.js.map +1 -1
  108. package/dist/contracts/recording_language/recording_language.d.ts +29 -5
  109. package/dist/contracts/recording_language/recording_language.d.ts.map +1 -1
  110. package/dist/contracts/recording_language/recording_language.js +18 -5
  111. package/dist/contracts/recording_language/recording_language.js.map +1 -1
  112. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +25 -15
  113. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -1
  114. package/dist/contracts/recording_master_reference/recording_master_reference.js +18 -5
  115. package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -1
  116. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +55 -4
  117. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -1
  118. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +55 -4
  119. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -1
  120. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts +66 -1
  121. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts.map +1 -1
  122. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js +66 -1
  123. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js.map +1 -1
  124. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts +12 -9
  125. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts.map +1 -1
  126. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js +11 -4
  127. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js.map +1 -1
  128. package/dist/contracts/release_cover_art/release_cover_art.d.ts +168 -74
  129. package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -1
  130. package/dist/contracts/release_cover_art/release_cover_art.js +126 -10
  131. package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -1
  132. package/dist/contracts/release_credits/release_credits.d.ts +24 -28
  133. package/dist/contracts/release_credits/release_credits.d.ts.map +1 -1
  134. package/dist/contracts/release_credits/release_credits.js +18 -4
  135. package/dist/contracts/release_credits/release_credits.js.map +1 -1
  136. package/dist/contracts/release_description/release_description.d.ts +16 -5
  137. package/dist/contracts/release_description/release_description.d.ts.map +1 -1
  138. package/dist/contracts/release_description/release_description.js +9 -4
  139. package/dist/contracts/release_description/release_description.js.map +1 -1
  140. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +130 -160
  141. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -1
  142. package/dist/contracts/release_dsp_link/release_dsp_link.js +74 -19
  143. package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -1
  144. package/dist/contracts/release_genre/release_genre.d.ts +66 -11
  145. package/dist/contracts/release_genre/release_genre.d.ts.map +1 -1
  146. package/dist/contracts/release_genre/release_genre.js +52 -11
  147. package/dist/contracts/release_genre/release_genre.js.map +1 -1
  148. package/dist/contracts/release_kind/release_kind.d.ts +28 -5
  149. package/dist/contracts/release_kind/release_kind.d.ts.map +1 -1
  150. package/dist/contracts/release_kind/release_kind.js +19 -4
  151. package/dist/contracts/release_kind/release_kind.js.map +1 -1
  152. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +17 -0
  153. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -1
  154. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +15 -0
  155. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -1
  156. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts +37 -1
  157. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts.map +1 -1
  158. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js +37 -1
  159. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js.map +1 -1
  160. package/dist/contracts/routed_stake/routed_stake.d.ts +78 -6
  161. package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -1
  162. package/dist/contracts/routed_stake/routed_stake.js +79 -7
  163. package/dist/contracts/routed_stake/routed_stake.js.map +1 -1
  164. package/dist/contracts/royalty_pool/pool.d.ts +117 -27
  165. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
  166. package/dist/contracts/royalty_pool/pool.js +117 -28
  167. package/dist/contracts/royalty_pool/pool.js.map +1 -1
  168. package/dist/contracts/royalty_pool/stake.d.ts +3 -0
  169. package/dist/contracts/royalty_pool/stake.d.ts.map +1 -1
  170. package/dist/contracts/royalty_pool/stake.js +5 -2
  171. package/dist/contracts/royalty_pool/stake.js.map +1 -1
  172. package/dist/contracts/share/share.d.ts +80 -0
  173. package/dist/contracts/share/share.d.ts.map +1 -0
  174. package/dist/contracts/share/share.js +72 -0
  175. package/dist/contracts/share/share.js.map +1 -0
  176. package/dist/contracts/vault/vault.d.ts +51 -0
  177. package/dist/contracts/vault/vault.d.ts.map +1 -1
  178. package/dist/contracts/vault/vault.js +55 -4
  179. package/dist/contracts/vault/vault.js.map +1 -1
  180. package/dist/contracts.d.ts +60 -0
  181. package/dist/contracts.d.ts.map +1 -1
  182. package/dist/contracts.js +17 -0
  183. package/dist/contracts.js.map +1 -1
  184. package/dist/cover.d.ts +5 -6
  185. package/dist/cover.d.ts.map +1 -1
  186. package/dist/cover.js +10 -10
  187. package/dist/cover.js.map +1 -1
  188. package/dist/credits.d.ts +12 -13
  189. package/dist/credits.d.ts.map +1 -1
  190. package/dist/credits.js +16 -10
  191. package/dist/credits.js.map +1 -1
  192. package/dist/deployments.d.ts +3 -3
  193. package/dist/deployments.d.ts.map +1 -1
  194. package/dist/deployments.js +2 -3
  195. package/dist/deployments.js.map +1 -1
  196. package/dist/errors.d.ts +24 -9
  197. package/dist/errors.d.ts.map +1 -1
  198. package/dist/errors.js +43 -16
  199. package/dist/errors.js.map +1 -1
  200. package/dist/events.d.ts +1687 -835
  201. package/dist/events.d.ts.map +1 -1
  202. package/dist/events.js +258 -39
  203. package/dist/events.js.map +1 -1
  204. package/dist/genre.d.ts +11 -12
  205. package/dist/genre.d.ts.map +1 -1
  206. package/dist/genre.js +5 -3
  207. package/dist/genre.js.map +1 -1
  208. package/dist/index.d.ts +3 -3
  209. package/dist/index.d.ts.map +1 -1
  210. package/dist/index.js +7 -2
  211. package/dist/index.js.map +1 -1
  212. package/dist/packages.d.ts +1047 -1695
  213. package/dist/packages.d.ts.map +1 -1
  214. package/dist/party/client.d.ts +113 -296
  215. package/dist/party/client.d.ts.map +1 -1
  216. package/dist/party/client.js +93 -178
  217. package/dist/party/client.js.map +1 -1
  218. package/dist/party/extensions/ctas.d.ts +3 -3
  219. package/dist/party/extensions/ctas.d.ts.map +1 -1
  220. package/dist/party/extensions/genres.d.ts +4 -4
  221. package/dist/party/extensions/genres.d.ts.map +1 -1
  222. package/dist/party/extensions/links.d.ts +5 -5
  223. package/dist/party/extensions/links.d.ts.map +1 -1
  224. package/dist/party/extensions/links.js.map +1 -1
  225. package/dist/party/extensions/media.d.ts +3 -3
  226. package/dist/party/extensions/media.d.ts.map +1 -1
  227. package/dist/party/extensions/profile.d.ts +3 -3
  228. package/dist/party/extensions/profile.d.ts.map +1 -1
  229. package/dist/party/extensions/roles.d.ts +4 -4
  230. package/dist/party/extensions/roles.d.ts.map +1 -1
  231. package/dist/party/extensions/roles.js.map +1 -1
  232. package/dist/party/extensions/tags.d.ts +4 -4
  233. package/dist/party/extensions/tags.d.ts.map +1 -1
  234. package/dist/party/index.d.ts +1 -1
  235. package/dist/party/index.d.ts.map +1 -1
  236. package/dist/party/index.js.map +1 -1
  237. package/dist/party/queries.d.ts +8 -8
  238. package/dist/party/queries.d.ts.map +1 -1
  239. package/dist/party/queries.js +83 -56
  240. package/dist/party/queries.js.map +1 -1
  241. package/dist/pressing.d.ts +13 -15
  242. package/dist/pressing.d.ts.map +1 -1
  243. package/dist/pressing.js +99 -29
  244. package/dist/pressing.js.map +1 -1
  245. package/dist/publication.d.ts +13 -6
  246. package/dist/publication.d.ts.map +1 -1
  247. package/dist/publication.js +26 -21
  248. package/dist/publication.js.map +1 -1
  249. package/dist/queries.js +3 -3
  250. package/dist/queries.js.map +1 -1
  251. package/dist/read/artist.d.ts +4 -3
  252. package/dist/read/artist.d.ts.map +1 -1
  253. package/dist/read/artist.js +24 -8
  254. package/dist/read/artist.js.map +1 -1
  255. package/dist/read/catalog.d.ts +17 -16
  256. package/dist/read/catalog.d.ts.map +1 -1
  257. package/dist/read/catalog.js +25 -11
  258. package/dist/read/catalog.js.map +1 -1
  259. package/dist/read/client.d.ts +41 -20
  260. package/dist/read/client.d.ts.map +1 -1
  261. package/dist/read/client.js +20 -12
  262. package/dist/read/client.js.map +1 -1
  263. package/dist/read/config.d.ts +25 -3
  264. package/dist/read/config.d.ts.map +1 -1
  265. package/dist/read/config.js +42 -25
  266. package/dist/read/config.js.map +1 -1
  267. package/dist/read/genres.d.ts +8 -3
  268. package/dist/read/genres.d.ts.map +1 -1
  269. package/dist/read/genres.js +23 -17
  270. package/dist/read/genres.js.map +1 -1
  271. package/dist/read/index.d.ts +1 -1
  272. package/dist/read/index.d.ts.map +1 -1
  273. package/dist/read/index.js +8 -6
  274. package/dist/read/index.js.map +1 -1
  275. package/dist/read/receipts.d.ts +5 -4
  276. package/dist/read/receipts.d.ts.map +1 -1
  277. package/dist/read/receipts.js +94 -46
  278. package/dist/read/receipts.js.map +1 -1
  279. package/dist/read/royalties.d.ts +6 -5
  280. package/dist/read/royalties.d.ts.map +1 -1
  281. package/dist/read/royalties.js +16 -9
  282. package/dist/read/royalties.js.map +1 -1
  283. package/dist/read/wallet.d.ts +23 -12
  284. package/dist/read/wallet.d.ts.map +1 -1
  285. package/dist/read/wallet.js +158 -177
  286. package/dist/read/wallet.js.map +1 -1
  287. package/dist/read/works.d.ts +6 -6
  288. package/dist/read/works.d.ts.map +1 -1
  289. package/dist/read/works.js +40 -26
  290. package/dist/read/works.js.map +1 -1
  291. package/dist/recording-extensions.d.ts +15 -16
  292. package/dist/recording-extensions.d.ts.map +1 -1
  293. package/dist/recording-extensions.js +12 -8
  294. package/dist/recording-extensions.js.map +1 -1
  295. package/dist/release-extensions.d.ts +5 -6
  296. package/dist/release-extensions.d.ts.map +1 -1
  297. package/dist/release-extensions.js +3 -2
  298. package/dist/release-extensions.js.map +1 -1
  299. package/dist/release-graph.d.ts +2 -2
  300. package/dist/release-graph.d.ts.map +1 -1
  301. package/dist/release-graph.js.map +1 -1
  302. package/dist/royalty.d.ts +4 -4
  303. package/dist/royalty.d.ts.map +1 -1
  304. package/dist/royalty.js +16 -7
  305. package/dist/royalty.js.map +1 -1
  306. package/dist/share.d.ts +58 -24
  307. package/dist/share.d.ts.map +1 -1
  308. package/dist/share.js +167 -92
  309. package/dist/share.js.map +1 -1
  310. package/dist/transactions.d.ts +15 -6
  311. package/dist/transactions.d.ts.map +1 -1
  312. package/dist/transactions.js +1 -0
  313. package/dist/transactions.js.map +1 -1
  314. package/dist/vault.d.ts +13 -3
  315. package/dist/vault.d.ts.map +1 -1
  316. package/dist/vault.js +22 -16
  317. package/dist/vault.js.map +1 -1
  318. package/package.json +9 -8
  319. package/src/Miso.ts +951 -0
  320. package/src/auth.ts +16 -3
  321. package/src/catalog.ts +58 -25
  322. package/src/client.ts +98 -1359
  323. package/src/contracts/composition_credits/composition_credits.ts +20 -4
  324. package/src/contracts/composition_routed_stake/composition_routed_stake.ts +67 -1
  325. package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +53 -4
  326. package/src/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.ts +64 -1
  327. package/src/contracts/genre/genre.ts +8 -1
  328. package/src/contracts/miso_pay/pay.ts +356 -0
  329. package/src/contracts/party_cta/party_cta.ts +27 -5
  330. package/src/contracts/party_genre/party_genre.ts +14 -3
  331. package/src/contracts/party_media/party_media.ts +20 -4
  332. package/src/contracts/party_platform_link/party_platform_link.ts +15 -7
  333. package/src/contracts/party_profile/party_profile.ts +33 -8
  334. package/src/contracts/party_roles/party_roles.ts +19 -4
  335. package/src/contracts/party_tags/party_tags.ts +16 -4
  336. package/src/contracts/party_wallet/party_wallet.ts +2 -1
  337. package/src/contracts/platform_link/platform_link.ts +322 -0
  338. package/src/contracts/record/pressing.ts +50 -4
  339. package/src/contracts/record/record.ts +15 -1
  340. package/src/contracts/record_shop/listing.ts +76 -13
  341. package/src/contracts/recording_advisory/recording_advisory.ts +15 -8
  342. package/src/contracts/recording_credits/recording_credits.ts +63 -12
  343. package/src/contracts/recording_engine_session/recording_engine_session.ts +19 -4
  344. package/src/contracts/recording_genre/recording_genre.ts +53 -9
  345. package/src/contracts/recording_language/recording_language.ts +18 -5
  346. package/src/contracts/recording_master_reference/recording_master_reference.ts +18 -5
  347. package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +56 -4
  348. package/src/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.ts +67 -1
  349. package/src/contracts/recording_streaming_transcode/recording_streaming_transcode.ts +11 -4
  350. package/src/contracts/release_cover_art/release_cover_art.ts +126 -10
  351. package/src/contracts/release_credits/release_credits.ts +18 -4
  352. package/src/contracts/release_description/release_description.ts +9 -4
  353. package/src/contracts/release_dsp_link/release_dsp_link.ts +74 -19
  354. package/src/contracts/release_genre/release_genre.ts +52 -11
  355. package/src/contracts/release_kind/release_kind.ts +19 -4
  356. package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +15 -0
  357. package/src/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.ts +38 -1
  358. package/src/contracts/routed_stake/routed_stake.ts +79 -7
  359. package/src/contracts/royalty_pool/pool.ts +140 -38
  360. package/src/contracts/royalty_pool/stake.ts +5 -2
  361. package/src/contracts/share/share.ts +97 -0
  362. package/src/contracts/vault/vault.ts +55 -4
  363. package/src/contracts.ts +18 -0
  364. package/src/cover.ts +14 -15
  365. package/src/credits.ts +27 -22
  366. package/src/deployments.ts +3 -4
  367. package/src/errors.ts +64 -34
  368. package/src/events.ts +260 -39
  369. package/src/genre.ts +15 -14
  370. package/src/index.ts +19 -10
  371. package/src/party/client.ts +217 -208
  372. package/src/party/extensions/ctas.ts +3 -3
  373. package/src/party/extensions/genres.ts +4 -4
  374. package/src/party/extensions/links.ts +7 -7
  375. package/src/party/extensions/media.ts +3 -3
  376. package/src/party/extensions/profile.ts +3 -3
  377. package/src/party/extensions/roles.ts +5 -5
  378. package/src/party/extensions/tags.ts +4 -4
  379. package/src/party/index.ts +0 -1
  380. package/src/party/queries.ts +90 -87
  381. package/src/pressing.ts +132 -89
  382. package/src/publication.ts +33 -32
  383. package/src/queries.ts +3 -3
  384. package/src/read/artist.ts +36 -17
  385. package/src/read/catalog.ts +68 -36
  386. package/src/read/client.ts +55 -30
  387. package/src/read/config.ts +55 -30
  388. package/src/read/genres.ts +22 -18
  389. package/src/read/index.ts +8 -6
  390. package/src/read/receipts.ts +130 -67
  391. package/src/read/royalties.ts +22 -10
  392. package/src/read/wallet.ts +226 -216
  393. package/src/read/works.ts +51 -44
  394. package/src/recording-extensions.ts +27 -24
  395. package/src/release-extensions.ts +7 -7
  396. package/src/release-graph.ts +2 -1
  397. package/src/royalty.ts +19 -25
  398. package/src/share.ts +197 -128
  399. package/src/transactions.ts +15 -8
  400. package/src/vault.ts +24 -31
  401. package/dist/contracts/record_shop/deps/std/type_name.d.ts.map +0 -1
  402. package/dist/contracts/record_shop/deps/std/type_name.js.map +0 -1
  403. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +0 -6
  404. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +0 -1
  405. package/dist/contracts/recording_language/deps/language_code/language_code.js +0 -8
  406. package/dist/contracts/recording_language/deps/language_code/language_code.js.map +0 -1
  407. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts +0 -24
  408. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts.map +0 -1
  409. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js +0 -24
  410. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js.map +0 -1
  411. package/dist/contracts/recording_master_reference/deps/ori/data.d.ts +0 -16
  412. package/dist/contracts/recording_master_reference/deps/ori/data.d.ts.map +0 -1
  413. package/dist/contracts/recording_master_reference/deps/ori/data.js +0 -12
  414. package/dist/contracts/recording_master_reference/deps/ori/data.js.map +0 -1
  415. package/dist/execute.d.ts +0 -32
  416. package/dist/execute.d.ts.map +0 -1
  417. package/dist/execute.js +0 -36
  418. package/dist/execute.js.map +0 -1
  419. package/src/contracts/recording_language/deps/language_code/language_code.ts +0 -8
  420. package/src/contracts/recording_master_reference/deps/ori/confidentiality.ts +0 -24
  421. package/src/contracts/recording_master_reference/deps/ori/data.ts +0 -12
  422. package/src/execute.ts +0 -56
  423. /package/dist/contracts/{record_shop → miso_pay}/deps/std/type_name.d.ts +0 -0
  424. /package/dist/contracts/{record_shop → miso_pay}/deps/std/type_name.js +0 -0
  425. /package/src/contracts/{record_shop → miso_pay}/deps/std/type_name.ts +0 -0
@@ -21,13 +21,19 @@
21
21
  // math the chain does.
22
22
 
23
23
  import * as listingContract from "../contracts/record_shop/listing.ts";
24
- import {
25
- extractTypeParams2,
26
- getCompositionsByIds,
27
- } from "@misofm/musicos";
24
+ import { extractTypeParams2, Musicos, type MusicosDeploymentInvalid, type MusicosService, type MusicosWorkNotFound } from "@misofm/musicos";
28
25
  import { normalizeStructTag, normalizeSuiAddress } from "@mysten/sui/utils";
29
- import { Effect } from "effect";
30
- import { SuiClient, SuiGraphQL, SuiRpcError, type BcsDecodeError, type ObjectTypeMismatchError } from "@misofm/effect";
26
+ import { Effect, Result } from "effect";
27
+ import {
28
+ GraphQLUnavailable,
29
+ ObjectId,
30
+ Sui,
31
+ SuiGraphQL,
32
+ TransportError,
33
+ type BatchItemError,
34
+ type DecodeError,
35
+ type TransactionNotFound,
36
+ } from "@unconfirmed/sui-effect";
31
37
  import { getPressingDetail } from "./catalog.ts";
32
38
  import { int } from "./internal/scalars.ts";
33
39
  import { requireRecordSalesDeployment } from "../deployments.ts";
@@ -52,6 +58,29 @@ const FULLNODE_WAIT_MS = 5_000;
52
58
  /** Composition royalty rate (bps) per recording id. Sparse — an unresolved parent has no entry. */
53
59
  type CompositionRates = Record<string, number | undefined>;
54
60
 
61
+ /**
62
+ * `GraphQLUnavailable` lets through, not folded into `TransportError` — see
63
+ * `@misofm/musicos`'s own `queries.ts` (and `read/royalties.ts`) for the
64
+ * same idiom.
65
+ */
66
+ const graphqlError = (method: string) => (cause: unknown): GraphQLUnavailable | TransportError =>
67
+ cause instanceof GraphQLUnavailable ? cause : TransportError.fromUnknown(method, cause);
68
+
69
+ /**
70
+ * Builds `Musicos.layer({ deployment: { packageId } })`, provides it, and
71
+ * hands back the effect it wraps — see `../catalog.ts`'s `withMusicos` for
72
+ * the same idiom (kept file-local; see `docs/CONVERSION-STATUS.md`).
73
+ */
74
+ function withMusicos<A, E>(
75
+ packageId: string,
76
+ effect: (musicos: MusicosService) => Effect.Effect<A, E, Sui>,
77
+ ): Effect.Effect<A, E | MusicosDeploymentInvalid, Sui> {
78
+ return Effect.gen(function* () {
79
+ const musicos = yield* Musicos;
80
+ return yield* effect(musicos);
81
+ }).pipe(Effect.provide(Musicos.layer({ deployment: { packageId } })));
82
+ }
83
+
55
84
  function coerceU64(v: unknown): bigint | null {
56
85
  const value = typeof v === "bigint"
57
86
  ? v
@@ -63,20 +92,46 @@ function coerceU64(v: unknown): bigint | null {
63
92
  return value !== null && value >= 0n && value <= U64_MAX ? value : null;
64
93
  }
65
94
 
66
- function priceFromUnknown(value: unknown): Price | null {
67
- if (!value || typeof value !== "object") return null;
68
- const variants = value as {
69
- $kind?: string;
70
- Fixed?: unknown;
71
- Floor?: unknown;
72
- };
73
- const fixed = variants.$kind === "Fixed" || Object.hasOwn(variants, "Fixed");
74
- const floor = variants.$kind === "Floor" || Object.hasOwn(variants, "Floor");
75
- if (fixed === floor) return null;
76
- const amount = coerceU64(fixed ? variants.Fixed : variants.Floor);
95
+ function priceFromRichFields(
96
+ pricingIsFixed: unknown,
97
+ priceValue: unknown,
98
+ ): Price | null {
99
+ if (typeof pricingIsFixed !== "boolean") return null;
100
+ const amount = coerceU64(priceValue);
77
101
  return amount == null || amount <= 0n
78
102
  ? null
79
- : { kind: fixed ? "fixed" : "floor", amount: amount.toString() };
103
+ : { kind: pricingIsFixed ? "fixed" : "floor", amount: amount.toString() };
104
+ }
105
+
106
+ /** Decode a Move `vector<u8>` containing a UTF-8 defining type name. */
107
+ function utf8ByteVector(value: unknown): string | null {
108
+ let bytes: number[];
109
+ if (typeof value === "string") {
110
+ // GraphQL's MoveValue JSON projects vector<u8> as standard padded Base64.
111
+ // Require the canonical spelling and round-trip it before accepting it;
112
+ // arbitrary strings are never interpreted as a type name.
113
+ if (value.length === 0 || value.length % 4 !== 0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(value)) return null;
114
+ try {
115
+ const binary = atob(value);
116
+ const canonical = btoa(binary);
117
+ if (canonical !== value) return null;
118
+ bytes = Array.from(binary, (char) => char.charCodeAt(0));
119
+ } catch {
120
+ return null;
121
+ }
122
+ } else if (Array.isArray(value) || value instanceof Uint8Array) {
123
+ bytes = Array.from(value);
124
+ } else {
125
+ return null;
126
+ }
127
+ if (!bytes.every((byte) => typeof byte === "number" && Number.isInteger(byte) && byte >= 0 && byte <= 255)) {
128
+ return null;
129
+ }
130
+ try {
131
+ return new TextDecoder("utf-8", { fatal: true }).decode(Uint8Array.from(bytes));
132
+ } catch {
133
+ return null;
134
+ }
80
135
  }
81
136
 
82
137
  function typeName(value: unknown): string | null {
@@ -121,8 +176,9 @@ function saleFromJson(
121
176
  const purchasePrice = coerceU64(json.purchase_price);
122
177
  const purchasedTimestampMs = coerceU64(json.purchased_timestamp_ms);
123
178
  const recordId = json.record_id;
124
- const pricing = priceFromUnknown(json.pricing);
125
- const embeddedCurrency = typeName(json.purchase_currency);
179
+ const pricing = priceFromRichFields(json.pricing_is_fixed, json.price);
180
+ const currencyText = utf8ByteVector(json.purchase_currency);
181
+ const embeddedCurrency = currencyText == null ? null : typeName(currencyText);
126
182
  if (
127
183
  edition == null ||
128
184
  number == null ||
@@ -215,14 +271,17 @@ export function findRecordSales(
215
271
  );
216
272
  if (!currencyType) continue;
217
273
  try {
218
- // The generated struct decodes addresses to 0x-hex and u64s to decimal strings.
274
+ // The generated struct decodes addresses to 0x-hex and unsigned values
275
+ // to decimal strings. `purchase_currency` is the raw Move byte vector,
276
+ // so decode it before normalizing the defining type tag.
219
277
  const s = listingContract.RecordSoldEvent.parse(e.bcs);
220
- const pricing = priceFromUnknown(s.pricing);
221
- const embeddedCurrency = typeName(s.purchase_currency);
222
- const purchasePrice = BigInt(s.purchase_price);
278
+ const pricing = priceFromRichFields(s.pricing_is_fixed, s.price);
279
+ const currencyText = utf8ByteVector(s.purchase_currency);
280
+ const embeddedCurrency = currencyText == null ? null : typeName(currencyText);
281
+ const purchasePrice = coerceU64(s.purchase_price);
223
282
  if (
224
- !pricing || embeddedCurrency !== currencyType ||
225
- !validPricingRelationship(purchasePrice, pricing) ||
283
+ !pricing || embeddedCurrency !== currencyType || purchasePrice == null ||
284
+ purchasePrice <= 0n || !validPricingRelationship(purchasePrice, pricing) ||
226
285
  s.edition <= 0 || s.number <= 0
227
286
  ) throw new MalformedRecordSoldEventError({ reason: "malformed canonical RecordSoldEvent" });
228
287
  sales.push({
@@ -233,7 +292,7 @@ export function findRecordSales(
233
292
  edition: s.edition,
234
293
  number: s.number,
235
294
  purchaseCurrency: embeddedCurrency,
236
- purchasePrice: s.purchase_price,
295
+ purchasePrice: purchasePrice.toString(),
237
296
  pricing,
238
297
  currencyType,
239
298
  purchasedBy: s.purchased_by,
@@ -274,19 +333,18 @@ const salesFromFullnode = Effect.fn("salesFromFullnode")(function* (
274
333
  config: MisoConfig,
275
334
  ): Effect.fn.Return<
276
335
  RecordSale[],
277
- ReceiptNotFoundError | RecordPurchaseNotFoundError | MalformedRecordSoldEventError | SuiRpcError,
278
- SuiClient
336
+ ReceiptNotFoundError | RecordPurchaseNotFoundError | MalformedRecordSoldEventError | TransactionNotFound | TransportError,
337
+ Sui
279
338
  > {
280
- const client = yield* SuiClient;
281
- const result = yield* Effect.tryPromise({
282
- try: (signal) =>
283
- client.core.waitForTransaction({
284
- digest: txDigest,
285
- include: { events: true },
286
- timeout: FULLNODE_WAIT_MS,
287
- signal,
288
- }),
289
- catch: (cause) => new SuiRpcError({ operation: "waitForTransaction", cause }),
339
+ const sui = yield* Sui;
340
+ // The mechanical tier's raw `waitForTransaction`: `Sui`'s opinionated tier
341
+ // has no timeout-bearing wait convenience of its own, so this reaches
342
+ // `sui.core` directly, per sui-effect's docs/extensions.md ("reach for it
343
+ // directly only for a field or method Sui does not expose").
344
+ const result = yield* sui.core.waitForTransaction({
345
+ digest: txDigest,
346
+ include: { events: true },
347
+ timeout: FULLNODE_WAIT_MS,
290
348
  });
291
349
  if (result.$kind !== "Transaction" || !result.Transaction.status.success) {
292
350
  return yield* new ReceiptNotFoundError({ digest: txDigest });
@@ -325,7 +383,7 @@ const salesFromIndexer = Effect.fn("salesFromIndexer")(function* (
325
383
  config: MisoConfig,
326
384
  ): Effect.fn.Return<
327
385
  RecordSale[],
328
- ReceiptNotFoundError | RecordPurchaseNotFoundError | MalformedRecordSoldEventError | SuiRpcError,
386
+ ReceiptNotFoundError | RecordPurchaseNotFoundError | MalformedRecordSoldEventError | GraphQLUnavailable | TransportError,
329
387
  SuiGraphQL
330
388
  > {
331
389
  const client = yield* SuiGraphQL;
@@ -335,13 +393,13 @@ const salesFromIndexer = Effect.fn("salesFromIndexer")(function* (
335
393
  query: TX_EVENTS_QUERY,
336
394
  variables: { digest: txDigest },
337
395
  }),
338
- catch: (cause) => new SuiRpcError({ operation: "transactionEvents", cause }),
396
+ catch: graphqlError("transactionEvents"),
339
397
  });
340
398
  if (errors?.length) {
341
- return yield* new SuiRpcError({
342
- operation: "transactionEvents",
343
- cause: new AggregateError(errors.map((e) => new Error(e.message)), "Transaction events query failed"),
344
- });
399
+ return yield* TransportError.fromUnknown(
400
+ "transactionEvents",
401
+ new AggregateError(errors.map((e) => new Error(e.message)), "Transaction events query failed"),
402
+ );
345
403
  }
346
404
 
347
405
  const effects = data?.transaction?.effects;
@@ -374,12 +432,12 @@ const salesFromChain = Effect.fn("salesFromChain")(function* (
374
432
  config: MisoConfig,
375
433
  ): Effect.fn.Return<
376
434
  RecordSale[],
377
- ReceiptNotFoundError | RecordPurchaseNotFoundError | MalformedRecordSoldEventError | SuiRpcError,
378
- SuiClient | SuiGraphQL
435
+ ReceiptNotFoundError | RecordPurchaseNotFoundError | MalformedRecordSoldEventError | GraphQLUnavailable | TransportError,
436
+ Sui | SuiGraphQL
379
437
  > {
380
438
  return yield* salesFromFullnode(txDigest, config).pipe(
381
439
  Effect.catchIf(
382
- (error): error is ReceiptNotFoundError | RecordPurchaseNotFoundError | SuiRpcError =>
440
+ (error): error is ReceiptNotFoundError | RecordPurchaseNotFoundError | TransactionNotFound | TransportError =>
383
441
  error._tag !== "MalformedRecordSoldEventError",
384
442
  () => salesFromIndexer(txDigest, config),
385
443
  ),
@@ -400,20 +458,18 @@ const salesFromChain = Effect.fn("salesFromChain")(function* (
400
458
  const compositionRatesByRecording = Effect.fn("compositionRatesByRecording")(function* (
401
459
  recordingIds: string[],
402
460
  config: MisoConfig,
403
- ): Effect.fn.Return<CompositionRates, SuiRpcError | BcsDecodeError, SuiClient | SuiGraphQL> {
461
+ ): Effect.fn.Return<CompositionRates, MusicosDeploymentInvalid | GraphQLUnavailable | TransportError, Sui | SuiGraphQL> {
404
462
  if (recordingIds.length === 0) return {};
405
463
 
406
- const client = yield* SuiClient;
464
+ const sui = yield* Sui;
407
465
  const shareTypeByRecording: Record<string, string> = {};
408
- const { objects } = yield* Effect.tryPromise({
409
- try: (signal) => client.core.getObjects({ objectIds: [...new Set(recordingIds)], signal }),
410
- catch: (cause) => new SuiRpcError({ operation: "getObjects", cause }),
411
- });
412
- for (const obj of objects) {
413
- if (obj instanceof Error || !obj.type) continue;
466
+ const results = yield* sui.getObjects([...new Set(recordingIds)].map((id) => ObjectId.make(id)));
467
+ for (const result of results) {
468
+ if (!Result.isSuccess(result)) continue;
469
+ const object = result.success;
414
470
  try {
415
- const [, compositionShareType] = extractTypeParams2(obj.type);
416
- shareTypeByRecording[obj.objectId] = compositionShareType;
471
+ const [, compositionShareType] = extractTypeParams2(object.type);
472
+ shareTypeByRecording[object.id] = compositionShareType;
417
473
  } catch {
418
474
  // A recording type we can't read the parent off — skip this track.
419
475
  }
@@ -427,12 +483,17 @@ const compositionRatesByRecording = Effect.fn("compositionRatesByRecording")(fun
427
483
  config.deployment.musicos,
428
484
  );
429
485
  const compositionIds = Object.values(addresses.compositions).filter((id): id is string => !!id);
430
- const compositions = yield* getCompositionsByIds(compositionIds);
486
+ const compositionResults = yield* withMusicos(config.deployment.musicos, (musicos) =>
487
+ musicos.getCompositionsByIds(compositionIds.map((id) => ObjectId.make(id))),
488
+ );
489
+ const compositions = new Map(
490
+ compositionResults.flatMap((result, index) => (Result.isSuccess(result) ? [[compositionIds[index]!, result.success] as const] : [])),
491
+ );
431
492
 
432
493
  const rates: CompositionRates = {};
433
494
  for (const [recordingId, shareType] of Object.entries(shareTypeByRecording)) {
434
495
  const compositionId = addresses.compositions[shareType];
435
- const composition = compositionId ? compositions[compositionId] : undefined;
496
+ const composition = compositionId ? compositions.get(compositionId) : undefined;
436
497
  if (composition) rates[recordingId] = int(composition.royaltyRate.value);
437
498
  }
438
499
  return rates;
@@ -478,18 +539,20 @@ type ReceiptError =
478
539
  | ReceiptNotFoundError
479
540
  | RecordPurchaseNotFoundError
480
541
  | MalformedRecordSoldEventError
481
- | ObjectTypeMismatchError
542
+ | DecodeError
482
543
  | ReleaseNotFoundError
483
- | BcsDecodeError
484
- | SuiRpcError;
544
+ | MusicosWorkNotFound
545
+ | BatchItemError
546
+ | GraphQLUnavailable
547
+ | TransportError;
485
548
 
486
549
  const hydratePurchaseReceipt = Effect.fn("hydratePurchaseReceipt")(function* (
487
550
  sale: RecordSale,
488
551
  config: MisoConfig,
489
552
  ): Effect.fn.Return<
490
553
  PurchaseReceipt | null,
491
- ObjectTypeMismatchError | ReleaseNotFoundError | BcsDecodeError | SuiRpcError,
492
- SuiClient | SuiGraphQL
554
+ DecodeError | ReleaseNotFoundError | MusicosWorkNotFound | BatchItemError | GraphQLUnavailable | TransportError,
555
+ Sui | SuiGraphQL
493
556
  > {
494
557
  const detail = yield* getPressingDetail(sale.pressingId, config);
495
558
  if (!detail) return null;
@@ -512,7 +575,7 @@ const hydratePurchaseReceipt = Effect.fn("hydratePurchaseReceipt")(function* (
512
575
  export const getPurchaseReceipts = Effect.fn("getPurchaseReceipts")(function* (
513
576
  txDigest: string,
514
577
  config: MisoConfig,
515
- ): Effect.fn.Return<PurchaseReceipt[], ReceiptError, SuiClient | SuiGraphQL> {
578
+ ): Effect.fn.Return<PurchaseReceipt[], ReceiptError, Sui | SuiGraphQL> {
516
579
  const sales = yield* salesFromChain(txDigest, config);
517
580
  const hydrated = yield* Effect.forEach(sales, (sale) => hydratePurchaseReceipt(sale, config), {
518
581
  concurrency: "unbounded",
@@ -529,7 +592,7 @@ export const getPurchaseReceipt = Effect.fn("getPurchaseReceipt")(function* (
529
592
  txDigest: string,
530
593
  recordId: string,
531
594
  config: MisoConfig,
532
- ): Effect.fn.Return<PurchaseReceipt | null, ReceiptError, SuiClient | SuiGraphQL> {
595
+ ): Effect.fn.Return<PurchaseReceipt | null, ReceiptError, Sui | SuiGraphQL> {
533
596
  const sales = yield* salesFromChain(txDigest, config);
534
597
  const wanted = normalizeSuiAddress(recordId);
535
598
  const sale = sales.find((candidate) => normalizeSuiAddress(candidate.recordId) === wanted);
@@ -21,7 +21,7 @@
21
21
 
22
22
  import { normalizeStructTag, normalizeSuiAddress, parseStructTag } from "@mysten/sui/utils";
23
23
  import { Effect } from "effect";
24
- import { SuiGraphQL, SuiRpcError } from "@misofm/effect";
24
+ import { GraphQLUnavailable, SuiGraphQL, TransportError } from "@unconfirmed/sui-effect";
25
25
  import { MalformedRoyaltyClaimedEventError } from "../errors.ts";
26
26
  import type { MisoConfig } from "./config.ts";
27
27
  import type { RoyaltyClaim, RoyaltyClaimEntry, RoyaltyClaimPage } from "./types.ts";
@@ -29,6 +29,17 @@ import type { RoyaltyClaim, RoyaltyClaimEntry, RoyaltyClaimPage } from "./types.
29
29
  /** The indexer caps event pages at 50. */
30
30
  export const ROYALTY_CLAIMS_PAGE_LIMIT = 50;
31
31
 
32
+ /**
33
+ * `GraphQLUnavailable` lets through, not folded into `TransportError` — see
34
+ * `@misofm/musicos`'s own `queries.ts` for the same idiom: under
35
+ * `SuiGraphQL.layerUnavailable`, every call rejects with the same
36
+ * `GraphQLUnavailable` instance, and a caller that wants "no endpoint
37
+ * configured" distinguished from "the endpoint answered badly" needs the
38
+ * real tag rather than having it stand behind `cause`.
39
+ */
40
+ const graphqlError = (method: string) => (cause: unknown): GraphQLUnavailable | TransportError =>
41
+ cause instanceof GraphQLUnavailable ? cause : TransportError.fromUnknown(method, cause);
42
+
32
43
  const CLAIMS_QUERY = `query RoyaltyClaims($sender: SuiAddress!, $type: String!, $last: Int!, $before: String) {
33
44
  events(last: $last, before: $before, filter: { sender: $sender, type: $type }) {
34
45
  pageInfo { hasPreviousPage }
@@ -113,15 +124,16 @@ function entryFromEvent(repr: string, json: unknown, digest: string): RoyaltyCla
113
124
  /**
114
125
  * One page of an address's royalty claims, newest first.
115
126
  *
116
- * Fails with `SuiRpcError` when the indexer cannot be reached or rejects the
117
- * query, and with `MalformedRoyaltyClaimedEventError` when an event of the
118
- * configured type does not carry the fields this package version expects.
127
+ * Fails with `GraphQLUnavailable` when no GraphQL endpoint is configured,
128
+ * `TransportError` when the indexer cannot be reached or rejects the query,
129
+ * and `MalformedRoyaltyClaimedEventError` when an event of the configured
130
+ * type does not carry the fields this package version expects.
119
131
  */
120
132
  export const listRoyaltyClaims = Effect.fn("listRoyaltyClaims")(function* (
121
133
  address: string,
122
134
  config: MisoConfig,
123
135
  options: ListRoyaltyClaimsOptions = {},
124
- ): Effect.fn.Return<RoyaltyClaimPage, SuiRpcError | MalformedRoyaltyClaimedEventError, SuiGraphQL> {
136
+ ): Effect.fn.Return<RoyaltyClaimPage, GraphQLUnavailable | TransportError | MalformedRoyaltyClaimedEventError, SuiGraphQL> {
125
137
  const client = yield* SuiGraphQL;
126
138
  const limit = Math.min(Math.max(Math.trunc(options.limit ?? ROYALTY_CLAIMS_PAGE_LIMIT), 1), ROYALTY_CLAIMS_PAGE_LIMIT);
127
139
  const { data, errors } = yield* Effect.tryPromise({
@@ -135,13 +147,13 @@ export const listRoyaltyClaims = Effect.fn("listRoyaltyClaims")(function* (
135
147
  before: options.before ?? null,
136
148
  },
137
149
  }),
138
- catch: (cause) => new SuiRpcError({ operation: "royaltyClaims", cause }),
150
+ catch: graphqlError("royaltyClaims"),
139
151
  });
140
152
  if (errors?.length) {
141
- return yield* new SuiRpcError({
142
- operation: "royaltyClaims",
143
- cause: new AggregateError(errors.map((e) => new Error(e.message)), "Royalty claims query failed"),
144
- });
153
+ return yield* TransportError.fromUnknown(
154
+ "royaltyClaims",
155
+ new AggregateError(errors.map((e) => new Error(e.message)), "Royalty claims query failed"),
156
+ );
145
157
  }
146
158
 
147
159
  const edges = data?.events?.edges ?? [];