@misofm/platform 0.25.0 → 0.26.1

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 (140) hide show
  1. package/README.md +144 -45
  2. package/dist/auth.d.ts +8 -13
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +78 -59
  5. package/dist/auth.js.map +1 -1
  6. package/dist/catalog.d.ts +5 -5
  7. package/dist/catalog.d.ts.map +1 -1
  8. package/dist/catalog.js +33 -21
  9. package/dist/catalog.js.map +1 -1
  10. package/dist/client.d.ts +17 -30
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +53 -75
  13. package/dist/client.js.map +1 -1
  14. package/dist/cover.d.ts +4 -3
  15. package/dist/cover.d.ts.map +1 -1
  16. package/dist/cover.js +28 -17
  17. package/dist/cover.js.map +1 -1
  18. package/dist/credits.d.ts +12 -10
  19. package/dist/credits.d.ts.map +1 -1
  20. package/dist/credits.js +60 -33
  21. package/dist/credits.js.map +1 -1
  22. package/dist/deployments.d.ts +21 -13
  23. package/dist/deployments.d.ts.map +1 -1
  24. package/dist/deployments.js +84 -37
  25. package/dist/deployments.js.map +1 -1
  26. package/dist/errors.d.ts +91 -0
  27. package/dist/errors.d.ts.map +1 -0
  28. package/dist/errors.js +111 -0
  29. package/dist/errors.js.map +1 -0
  30. package/dist/execute.d.ts +3 -1
  31. package/dist/execute.d.ts.map +1 -1
  32. package/dist/execute.js +9 -4
  33. package/dist/execute.js.map +1 -1
  34. package/dist/genre.d.ts +25 -41
  35. package/dist/genre.d.ts.map +1 -1
  36. package/dist/genre.js +71 -20
  37. package/dist/genre.js.map +1 -1
  38. package/dist/party/client.d.ts +16 -13
  39. package/dist/party/client.d.ts.map +1 -1
  40. package/dist/party/client.js +33 -22
  41. package/dist/party/client.js.map +1 -1
  42. package/dist/party/extensions/links.d.ts +2 -1
  43. package/dist/party/extensions/links.d.ts.map +1 -1
  44. package/dist/party/extensions/links.js +2 -1
  45. package/dist/party/extensions/links.js.map +1 -1
  46. package/dist/party/queries.d.ts +12 -11
  47. package/dist/party/queries.d.ts.map +1 -1
  48. package/dist/party/queries.js +63 -57
  49. package/dist/party/queries.js.map +1 -1
  50. package/dist/party/types.d.ts +31 -20
  51. package/dist/party/types.d.ts.map +1 -1
  52. package/dist/party/types.js +82 -1
  53. package/dist/party/types.js.map +1 -1
  54. package/dist/pressing.d.ts +55 -35
  55. package/dist/pressing.d.ts.map +1 -1
  56. package/dist/pressing.js +99 -76
  57. package/dist/pressing.js.map +1 -1
  58. package/dist/queries.d.ts +1 -1
  59. package/dist/queries.d.ts.map +1 -1
  60. package/dist/queries.js +5 -4
  61. package/dist/queries.js.map +1 -1
  62. package/dist/read/artist.d.ts +6 -4
  63. package/dist/read/artist.d.ts.map +1 -1
  64. package/dist/read/artist.js +29 -27
  65. package/dist/read/artist.js.map +1 -1
  66. package/dist/read/catalog.d.ts +20 -17
  67. package/dist/read/catalog.d.ts.map +1 -1
  68. package/dist/read/catalog.js +120 -141
  69. package/dist/read/catalog.js.map +1 -1
  70. package/dist/read/client.d.ts +10 -9
  71. package/dist/read/client.d.ts.map +1 -1
  72. package/dist/read/client.js.map +1 -1
  73. package/dist/read/genres.d.ts +5 -3
  74. package/dist/read/genres.d.ts.map +1 -1
  75. package/dist/read/genres.js +18 -15
  76. package/dist/read/genres.js.map +1 -1
  77. package/dist/read/index.d.ts.map +1 -1
  78. package/dist/read/index.js +7 -1
  79. package/dist/read/index.js.map +1 -1
  80. package/dist/read/receipts.d.ts +15 -6
  81. package/dist/read/receipts.d.ts.map +1 -1
  82. package/dist/read/receipts.js +73 -60
  83. package/dist/read/receipts.js.map +1 -1
  84. package/dist/read/wallet.d.ts +11 -9
  85. package/dist/read/wallet.d.ts.map +1 -1
  86. package/dist/read/wallet.js +117 -132
  87. package/dist/read/wallet.js.map +1 -1
  88. package/dist/read/works.d.ts +9 -16
  89. package/dist/read/works.d.ts.map +1 -1
  90. package/dist/read/works.js +48 -117
  91. package/dist/read/works.js.map +1 -1
  92. package/dist/recording-extensions.d.ts +8 -7
  93. package/dist/recording-extensions.d.ts.map +1 -1
  94. package/dist/recording-extensions.js +30 -63
  95. package/dist/recording-extensions.js.map +1 -1
  96. package/dist/release-extensions.d.ts +3 -2
  97. package/dist/release-extensions.d.ts.map +1 -1
  98. package/dist/release-extensions.js +9 -10
  99. package/dist/release-extensions.js.map +1 -1
  100. package/dist/royalty.d.ts +51 -51
  101. package/dist/royalty.d.ts.map +1 -1
  102. package/dist/royalty.js +93 -11
  103. package/dist/royalty.js.map +1 -1
  104. package/dist/share.d.ts +7 -6
  105. package/dist/share.d.ts.map +1 -1
  106. package/dist/share.js +37 -30
  107. package/dist/share.js.map +1 -1
  108. package/dist/vault.d.ts +20 -8
  109. package/dist/vault.d.ts.map +1 -1
  110. package/dist/vault.js +31 -15
  111. package/dist/vault.js.map +1 -1
  112. package/package.json +11 -4
  113. package/src/auth.ts +89 -70
  114. package/src/catalog.ts +33 -49
  115. package/src/client.ts +117 -97
  116. package/src/cover.ts +17 -26
  117. package/src/credits.ts +43 -75
  118. package/src/deployments.ts +103 -69
  119. package/src/errors.ts +156 -0
  120. package/src/execute.ts +10 -6
  121. package/src/genre.ts +38 -23
  122. package/src/party/client.ts +35 -23
  123. package/src/party/extensions/links.ts +3 -2
  124. package/src/party/queries.ts +77 -65
  125. package/src/party/types.ts +52 -48
  126. package/src/pressing.ts +158 -161
  127. package/src/queries.ts +5 -5
  128. package/src/read/artist.ts +47 -42
  129. package/src/read/catalog.ts +200 -223
  130. package/src/read/client.ts +12 -11
  131. package/src/read/genres.ts +24 -16
  132. package/src/read/index.ts +7 -1
  133. package/src/read/receipts.ts +128 -67
  134. package/src/read/wallet.ts +194 -162
  135. package/src/read/works.ts +75 -194
  136. package/src/recording-extensions.ts +38 -92
  137. package/src/release-extensions.ts +7 -12
  138. package/src/royalty.ts +117 -20
  139. package/src/share.ts +44 -29
  140. package/src/vault.ts +47 -24
@@ -1,7 +1,12 @@
1
1
  // Copyright (c) Miso Labs, Inc.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+ // First-party metadata attached to a protocol Release. The JSON/CLI release
4
+ // intent aggregates these concerns, but every value is written by its own
5
+ // independently deployed extension package.
3
6
  import { bcs } from "@mysten/sui/bcs";
4
7
  import { deriveDynamicFieldID } from "@mysten/sui/utils";
8
+ import { Effect, Option } from "effect";
9
+ import { getOptionalObjectContent } from "@misofm/effect";
5
10
  import * as releaseDescription from "./contracts/release_description/release_description.js";
6
11
  import * as releaseDspLink from "./contracts/release_dsp_link/release_dsp_link.js";
7
12
  import * as releaseKind from "./contracts/release_kind/release_kind.js";
@@ -49,16 +54,10 @@ export function parseReleaseKindContent(content) {
49
54
  return ReleaseKindField.parse(content).value;
50
55
  }
51
56
  /** Read a Release's self-declared kind, or `null` when the extension is absent. */
52
- export async function getReleaseKind(client, releaseId, releaseKindPackageId) {
53
- const { objects } = await client.core.getObjects({
54
- objectIds: [releaseKindFieldId(releaseId, releaseKindPackageId)],
55
- include: { content: true },
56
- });
57
- const object = objects[0];
58
- if (!object || object instanceof Error || !object.content)
59
- return null;
60
- return parseReleaseKindContent(object.content);
61
- }
57
+ export const getReleaseKind = Effect.fn("getReleaseKind")(function* (releaseId, releaseKindPackageId) {
58
+ const found = yield* getOptionalObjectContent(releaseKindFieldId(releaseId, releaseKindPackageId));
59
+ return Option.isNone(found) ? null : parseReleaseKindContent(found.value.content);
60
+ });
62
61
  /** Attach the release's editorial description. */
63
62
  export function setReleaseDescription(p) {
64
63
  const bytes = new TextEncoder().encode(p.description).length;
@@ -1 +1 @@
1
- {"version":3,"file":"release-extensions.js","sourceRoot":"","sources":["../src/release-extensions.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAOtC,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAOzD,OAAO,KAAK,kBAAkB,MAAM,wDAAwD,CAAC;AAC7F,OAAO,KAAK,cAAc,MAAM,kDAAkD,CAAC;AACnF,OAAO,KAAK,WAAW,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAA2D,MAAM,YAAY,CAAC;AAEhI,SAAS,MAAM,CAAC,EAAe,EAAE,KAAkB;IACjD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9D,CAAC;AASD,SAAS,SAAS,CAAC,CAAyB;IAC1C,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,SAAS,CAAC;IAClD,IAAI,CAAC,CAAC,iBAAiB,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAClF,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACnD,CAAC;AAOD,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,CAAuB;IACpD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACtD,IAAI,KAAK,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC3E,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,4DAA4D,KAAK,GAAG,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,kBAAkB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;YACnC,MAAM,EAAE,GAAG,CAAC,CAAC,oBAAoB,0BAA0B;YAC3D,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5D,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;IAC3C,EAAE,EAAE,GAAG,CAAC,OAAO;IACf,IAAI,EAAE,WAAW,CAAC,YAAY;IAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AACH,MAAM,sBAAsB,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC;IAChE,KAAK;CACN,CAAC,CAAC,OAAO,EAAE,CAAC;AAEb,kFAAkF;AAClF,MAAM,UAAU,kBAAkB,CAChC,SAAiB,EACjB,oBAA4B;IAE5B,OAAO,oBAAoB,CACzB,SAAS,EACT,GAAG,oBAAoB,8BAA8B,EACrD,sBAAsB,CACvB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,uBAAuB,CAAC,OAAmB;IACzD,OAAO,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;AAC/C,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAyB,EACzB,SAAiB,EACjB,oBAA4B;IAE5B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QAC/C,SAAS,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAChE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KAC3B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,IAAI,MAAM,YAAY,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC;AAOD,kDAAkD;AAClD,MAAM,UAAU,qBAAqB,CAAC,CAA8B;IAClE,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IAC7D,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,4EAA4E,KAAK,GAAG,CACrF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,kBAAkB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;YACnC,MAAM,EAAE,GAAG,CAAC,CAAC,2BAA2B,wCAAwC;YAChF,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACnE,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAiBD,SAAS,YAAY,CACnB,EAAe,EACf,SAAiB,EACjB,IAAa;IAEb,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC,GAAG,CACX,cAAc,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CACxE,CAAC;QACJ,KAAK,YAAY;YACf,OAAO,EAAE,CAAC,GAAG,CACX,IAAI,CAAC,OAAO,KAAK,SAAS;gBACxB,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC;oBAChC,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC3C,CAAC;gBACJ,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC;oBAChC,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;iBACzD,CAAC,CACP,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO,EAAE,CAAC,GAAG,CACX,IAAI,CAAC,OAAO,KAAK,SAAS;gBACxB,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC;oBACjC,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;iBAC1B,CAAC;gBACJ,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC;oBACjC,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;iBACxC,CAAC,CACP,CAAC;QACJ,KAAK,UAAU;YACb,OAAO,EAAE,CAAC,GAAG,CACX,cAAc,CAAC,WAAW,CAAC;gBACzB,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;aACvC,CAAC,CACH,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC,GAAG,CACX,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CACvE,CAAC;QACJ,KAAK,YAAY;YACf,OAAO,EAAE,CAAC,GAAG,CACX,cAAc,CAAC,aAAa,CAAC;gBAC3B,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;aAClC,CAAC,CACH,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,EAAE,CAAC,GAAG,CACX,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CACtE,CAAC;QACJ,KAAK,cAAc;YACjB,OAAO,EAAE,CAAC,GAAG,CACX,cAAc,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;aACrB,CAAC,CACH,CAAC;IACN,CAAC;AACH,CAAC;AAaD,oDAAoD;AACpD,MAAM,UAAU,kBAAkB,CAAC,CAA2B;IAC5D,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;YAChE,kBAAkB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;gBACnC,MAAM,EAAE,GAAG,CAAC,CAAC,uBAAuB,sCAAsC;gBAC1E,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;gBAC3C,aAAa,EAAE,CAAC;aACjB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,uBAAuB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,kBAAkB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;gBACnC,MAAM,EAAE,GAAG,CAAC,CAAC,uBAAuB,oCAAoC;gBACxE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC;gBAC9F,aAAa,EAAE,CAAC;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"release-extensions.js","sourceRoot":"","sources":["../src/release-extensions.ts"],"names":[],"mappings":"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"}
package/dist/royalty.d.ts CHANGED
@@ -1,55 +1,54 @@
1
- import type { ClientWithCoreApi } from "@mysten/sui/client";
2
1
  import { Transaction, type TransactionArgument, type TransactionObjectArgument } from "@mysten/sui/transactions";
3
- /** Parse a royalty pool by object ID. Phantom type arguments do not affect BCS. */
4
- export declare function getRoyaltyPoolById(client: ClientWithCoreApi, poolId: string): Promise<{
5
- id: string;
6
- balance: {
7
- value: string;
8
- };
9
- staked_shares: string;
10
- cumulative_reward_per_share: string;
11
- carry: string;
12
- cumulative_deposits: string;
13
- }>;
14
- /** Parse an owned `Stake<Share>` by object ID. */
15
- export declare function getRoyaltyStakeById(client: ClientWithCoreApi, stakeId: string): Promise<{
16
- id: string;
17
- balance: {
18
- value: string;
19
- };
20
- registrations: {
21
- contents: {
22
- key: {
23
- name: string;
24
- };
25
- value: {
26
- pool_id: string;
27
- debt: string;
28
- };
29
- }[];
30
- };
31
- }>;
32
- /** Parse a shared routed stake by object ID. */
33
- export declare function getRoutedStakeById(client: ClientWithCoreApi, routedStakeId: string): Promise<{
34
- id: string;
35
- stake: {
36
- id: string;
37
- balance: {
38
- value: string;
39
- };
40
- registrations: {
41
- contents: {
42
- key: {
43
- name: string;
44
- };
45
- value: {
46
- pool_id: string;
47
- debt: string;
48
- };
49
- }[];
50
- };
51
- } | null;
52
- }>;
2
+ import { Effect, Schema } from "effect";
3
+ import { type BcsDecodeError, type SuiClient, type SuiRpcError } from "@misofm/effect";
4
+ declare const RoyaltyStakeRegistration_base: Schema.Class<RoyaltyStakeRegistration, Schema.Struct<{
5
+ readonly currencyType: Schema.String;
6
+ readonly poolId: Schema.String;
7
+ /** Reward debt in `shares · index` units (u256, decimal string). */
8
+ readonly debt: Schema.String;
9
+ }>, {}>;
10
+ /** A stake's active registration against one royalty pool, keyed by currency type. */
11
+ export declare class RoyaltyStakeRegistration extends RoyaltyStakeRegistration_base {
12
+ }
13
+ declare const RoyaltyPool_base: Schema.Class<RoyaltyPool, Schema.Struct<{
14
+ readonly id: Schema.String;
15
+ /** Currency balance held by the pool (u64, decimal string). */
16
+ readonly balance: Schema.String;
17
+ /** Sum of every registered stake's shares (u64, decimal string). */
18
+ readonly stakedShares: Schema.String;
19
+ /** Cumulative reward-per-share index (u256, decimal string). */
20
+ readonly cumulativeRewardPerShare: Schema.String;
21
+ /** Deposit remainder not yet folded into the index (u128, decimal string). */
22
+ readonly carry: Schema.String;
23
+ /** Lifetime sum of every deposited value; analytics only (u128, decimal string). */
24
+ readonly cumulativeDeposits: Schema.String;
25
+ }>, {}>;
26
+ /** A bare `royalty_pool::pool::RoyaltyPool<Share, Currency>` object. Phantom type arguments do not affect BCS. */
27
+ export declare class RoyaltyPool extends RoyaltyPool_base {
28
+ }
29
+ declare const RoyaltyStake_base: Schema.Class<RoyaltyStake, Schema.Struct<{
30
+ readonly id: Schema.String;
31
+ /** The staked balance (u64, decimal string). Immutable after creation. */
32
+ readonly balance: Schema.String;
33
+ readonly registrations: Schema.$Array<typeof RoyaltyStakeRegistration>;
34
+ }>, {}>;
35
+ /** A bare `royalty_pool::stake::Stake<Share>` object. */
36
+ export declare class RoyaltyStake extends RoyaltyStake_base {
37
+ }
38
+ declare const RoutedStake_base: Schema.Class<RoutedStake, Schema.Struct<{
39
+ readonly id: Schema.String;
40
+ /** The wrapped position; `null` between `unstake` and `restake`. */
41
+ readonly stake: Schema.NullOr<typeof RoyaltyStake>;
42
+ }>, {}>;
43
+ /** A bare `routed_stake::routed_stake::RoutedStake<StakeShare, PoolShare>` object. */
44
+ export declare class RoutedStake extends RoutedStake_base {
45
+ }
46
+ /** One royalty pool by object ID, or `null` when no such object exists. */
47
+ export declare const getRoyaltyPoolById: (poolId: string) => Effect.Effect<RoyaltyPool | null, BcsDecodeError | SuiRpcError, SuiClient>;
48
+ /** One owned `Stake<Share>` by object ID, or `null` when no such object exists. */
49
+ export declare const getRoyaltyStakeById: (stakeId: string) => Effect.Effect<RoyaltyStake | null, BcsDecodeError | SuiRpcError, SuiClient>;
50
+ /** One shared routed stake by object ID, or `null` when no such object exists. */
51
+ export declare const getRoutedStakeById: (routedStakeId: string) => Effect.Effect<RoutedStake | null, BcsDecodeError | SuiRpcError, SuiClient>;
53
52
  /** Deterministically derive the royalty-pool ID for a parent and type pair. */
54
53
  export declare function deriveRoyaltyPoolId(parentId: string, shareType: string, currencyType: string, royaltyPoolPackageId: string): string;
55
54
  /** Deterministically derive the routed-stake ID for a parent and stake share. */
@@ -84,4 +83,5 @@ export declare function claimRoyaltyRewards(tx: Transaction, params: {
84
83
  currencyType: string;
85
84
  royaltyPoolPackageId: string;
86
85
  }): TransactionObjectArgument;
86
+ export {};
87
87
  //# sourceMappingURL=royalty.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"royalty.d.ts","sourceRoot":"","sources":["../src/royalty.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,KAAK,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAkBjH,mFAAmF;AACnF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,MAAM;;;;;;;;;GAGf;AAED,kDAAkD;AAClD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;GAGhB;AAED,gDAAgD;AAChD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,iBAAiB,EACzB,aAAa,EAAE,MAAM;;;;;;;;;;;;;;;;;;;GAGtB;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAMR;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAMR;AAMD,uEAAuE;AACvE,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE;IACN,OAAO,EAAE,mBAAmB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,yBAAyB,CAQ3B;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE;IACN,KAAK,EAAE,yBAAyB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,yBAAyB,CAQ3B;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE;IACN,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,KAAK,CAAC,EAAE,yBAAyB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,IAAI,CAWN;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE;IACN,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,yBAAyB,CAQ3B"}
1
+ {"version":3,"file":"royalty.d.ts","sourceRoot":"","sources":["../src/royalty.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,KAAK,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAEjH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAuC,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;;;;IAsB1H,oEAAoE;;;AANtE,sFAAsF;AACtF,qBAAa,wBAAyB,SAAQ,6BAO5C;CAAG;;;IAKH,+DAA+D;;IAE/D,oEAAoE;;IAEpE,gEAAgE;;IAEhE,8EAA8E;;IAE9E,oFAAoF;;;AAXtF,kHAAkH;AAClH,qBAAa,WAAY,SAAQ,gBAY/B;CAAG;;;IAKH,0EAA0E;;;;AAH5E,yDAAyD;AACzD,qBAAa,YAAa,SAAQ,iBAKhC;CAAG;;;IAKH,oEAAoE;;;AAHtE,sFAAsF;AACtF,qBAAa,WAAY,SAAQ,gBAI/B;CAAG;AAyCL,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,gGAW7B,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,mBAAmB,kGAW9B,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,uGAW7B,CAAC;AAEH,+EAA+E;AAC/E,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAMR;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAMR;AAMD,uEAAuE;AACvE,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE;IACN,OAAO,EAAE,mBAAmB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,yBAAyB,CAQ3B;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE;IACN,KAAK,EAAE,yBAAyB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,yBAAyB,CAQ3B;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE;IACN,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,KAAK,CAAC,EAAE,yBAAyB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,IAAI,CAWN;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE;IACN,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,yBAAyB,CAQ3B"}
package/dist/royalty.js CHANGED
@@ -1,8 +1,14 @@
1
1
  // Copyright (c) Miso Labs, Inc.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+ // Generic royalty-pool / stake / routed-stake reads and PTB builders. These are
4
+ // the raw, caller-owned primitives against the bare `royalty_pool` and
5
+ // `routed_stake` packages — Vault-gated crank operations (composition/recording
6
+ // royalty pool plugins, routed-stake Actions bound to a VaultAdminCap) live in
7
+ // `./vault.ts` instead; this module does not duplicate those.
3
8
  import { Transaction } from "@mysten/sui/transactions";
4
- import { deriveObjectID } from "@mysten/sui/utils";
5
- import { getObjectByBcs } from "@misofm/musicos/queries";
9
+ import { deriveObjectID, normalizeStructTag } from "@mysten/sui/utils";
10
+ import { Effect, Schema } from "effect";
11
+ import { decodeBcs, getOptionalObjectContent } from "@misofm/effect";
6
12
  import { RoyaltyPool as RoyaltyPoolBcs } from "./contracts/royalty_pool/pool.js";
7
13
  import { Stake as RoyaltyStakeBcs } from "./contracts/royalty_pool/stake.js";
8
14
  import { RoutedStake as RoutedStakeBcs } from "./contracts/routed_stake/routed_stake.js";
@@ -12,20 +18,96 @@ import * as routedStake from "./contracts/routed_stake/routed_stake.js";
12
18
  /** Key bytes for Move unit structs (single `0x00` for `dummy_field: bool = false`). */
13
19
  const UNIT_STRUCT_KEY_BYTES = new Uint8Array([0x00]);
14
20
  // ============================================================================
21
+ // Domain types
22
+ // ============================================================================
23
+ /** A stake's active registration against one royalty pool, keyed by currency type. */
24
+ export class RoyaltyStakeRegistration extends Schema.Class("@misofm/platform/RoyaltyStakeRegistration")({
25
+ currencyType: Schema.String,
26
+ poolId: Schema.String,
27
+ /** Reward debt in `shares · index` units (u256, decimal string). */
28
+ debt: Schema.String,
29
+ }) {
30
+ }
31
+ /** A bare `royalty_pool::pool::RoyaltyPool<Share, Currency>` object. Phantom type arguments do not affect BCS. */
32
+ export class RoyaltyPool extends Schema.Class("@misofm/platform/RoyaltyPool")({
33
+ id: Schema.String,
34
+ /** Currency balance held by the pool (u64, decimal string). */
35
+ balance: Schema.String,
36
+ /** Sum of every registered stake's shares (u64, decimal string). */
37
+ stakedShares: Schema.String,
38
+ /** Cumulative reward-per-share index (u256, decimal string). */
39
+ cumulativeRewardPerShare: Schema.String,
40
+ /** Deposit remainder not yet folded into the index (u128, decimal string). */
41
+ carry: Schema.String,
42
+ /** Lifetime sum of every deposited value; analytics only (u128, decimal string). */
43
+ cumulativeDeposits: Schema.String,
44
+ }) {
45
+ }
46
+ /** A bare `royalty_pool::stake::Stake<Share>` object. */
47
+ export class RoyaltyStake extends Schema.Class("@misofm/platform/RoyaltyStake")({
48
+ id: Schema.String,
49
+ /** The staked balance (u64, decimal string). Immutable after creation. */
50
+ balance: Schema.String,
51
+ registrations: Schema.Array(RoyaltyStakeRegistration),
52
+ }) {
53
+ }
54
+ /** A bare `routed_stake::routed_stake::RoutedStake<StakeShare, PoolShare>` object. */
55
+ export class RoutedStake extends Schema.Class("@misofm/platform/RoutedStake")({
56
+ id: Schema.String,
57
+ /** The wrapped position; `null` between `unstake` and `restake`. */
58
+ stake: Schema.NullOr(RoyaltyStake),
59
+ }) {
60
+ }
61
+ // ============================================================================
15
62
  // Reads
16
63
  // ============================================================================
17
- /** Parse a royalty pool by object ID. Phantom type arguments do not affect BCS. */
18
- export async function getRoyaltyPoolById(client, poolId) {
19
- return getObjectByBcs(client, poolId, RoyaltyPoolBcs);
64
+ function mapRegistration(currencyType, poolId, debt) {
65
+ return { currencyType: normalizeStructTag(currencyType), poolId, debt };
66
+ }
67
+ function mapRoyaltyPool(poolId, parsed) {
68
+ return {
69
+ id: poolId,
70
+ balance: String(parsed.balance.value),
71
+ stakedShares: String(parsed.staked_shares),
72
+ cumulativeRewardPerShare: String(parsed.cumulative_reward_per_share),
73
+ carry: String(parsed.carry),
74
+ cumulativeDeposits: String(parsed.cumulative_deposits),
75
+ };
20
76
  }
21
- /** Parse an owned `Stake<Share>` by object ID. */
22
- export async function getRoyaltyStakeById(client, stakeId) {
23
- return getObjectByBcs(client, stakeId, RoyaltyStakeBcs);
77
+ function mapRoyaltyStake(stakeId, parsed) {
78
+ return {
79
+ id: stakeId,
80
+ balance: String(parsed.balance.value),
81
+ registrations: parsed.registrations.contents.map((entry) => mapRegistration(entry.key.name, entry.value.pool_id, String(entry.value.debt))),
82
+ };
24
83
  }
25
- /** Parse a shared routed stake by object ID. */
26
- export async function getRoutedStakeById(client, routedStakeId) {
27
- return getObjectByBcs(client, routedStakeId, RoutedStakeBcs);
84
+ function mapRoutedStake(routedStakeId, parsed) {
85
+ return {
86
+ id: routedStakeId,
87
+ stake: parsed.stake ? mapRoyaltyStake(routedStakeId, parsed.stake) : null,
88
+ };
28
89
  }
90
+ /** One royalty pool by object ID, or `null` when no such object exists. */
91
+ export const getRoyaltyPoolById = Effect.fn("getRoyaltyPoolById")(function* (poolId) {
92
+ const found = yield* getOptionalObjectContent(poolId);
93
+ if (found._tag === "None")
94
+ return null;
95
+ return yield* decodeBcs({ parse: (bytes) => mapRoyaltyPool(poolId, RoyaltyPoolBcs.parse(bytes)) }, RoyaltyPool, found.value.content, { type: "RoyaltyPool", objectId: poolId });
96
+ });
97
+ /** One owned `Stake<Share>` by object ID, or `null` when no such object exists. */
98
+ export const getRoyaltyStakeById = Effect.fn("getRoyaltyStakeById")(function* (stakeId) {
99
+ const found = yield* getOptionalObjectContent(stakeId);
100
+ if (found._tag === "None")
101
+ return null;
102
+ return yield* decodeBcs({ parse: (bytes) => mapRoyaltyStake(stakeId, RoyaltyStakeBcs.parse(bytes)) }, RoyaltyStake, found.value.content, { type: "RoyaltyStake", objectId: stakeId });
103
+ });
104
+ /** One shared routed stake by object ID, or `null` when no such object exists. */
105
+ export const getRoutedStakeById = Effect.fn("getRoutedStakeById")(function* (routedStakeId) {
106
+ const found = yield* getOptionalObjectContent(routedStakeId);
107
+ if (found._tag === "None")
108
+ return null;
109
+ return yield* decodeBcs({ parse: (bytes) => mapRoutedStake(routedStakeId, RoutedStakeBcs.parse(bytes)) }, RoutedStake, found.value.content, { type: "RoutedStake", objectId: routedStakeId });
110
+ });
29
111
  /** Deterministically derive the royalty-pool ID for a parent and type pair. */
30
112
  export function deriveRoyaltyPoolId(parentId, shareType, currencyType, royaltyPoolPackageId) {
31
113
  return deriveObjectID(parentId, `${royaltyPoolPackageId}::pool::RoyaltyPoolKey<${shareType}, ${currencyType}>`, UNIT_STRUCT_KEY_BYTES);
@@ -1 +1 @@
1
- {"version":3,"file":"royalty.js","sourceRoot":"","sources":["../src/royalty.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"royalty.js","sourceRoot":"","sources":["../src/royalty.ts"],"names":[],"mappings":"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"}
package/dist/share.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { ParallelTransactionExecutor } from "@mysten/sui/transactions";
2
- import type { ClientWithCoreApi } from "@mysten/sui/client";
3
2
  import type { Signer } from "@mysten/sui/cryptography";
3
+ import { Effect } from "effect";
4
+ import { SuiClient, SuiRpcError, type TransactionFailedError } from "@misofm/effect";
4
5
  import { type PackageBytecode } from "./transactions.ts";
5
6
  export interface ShareCurrency {
6
7
  /** The published share package id. */
@@ -38,17 +39,17 @@ export interface CreateShareCurrencyParams {
38
39
  treasuryCapRecipient?: string;
39
40
  }
40
41
  /** Publishes an immutable package, then initializes a fresh share currency in a second tx. */
41
- export declare function createShareCurrency(client: ClientWithCoreApi, signer: Signer, params: CreateShareCurrencyParams): Promise<ShareCurrency>;
42
+ export declare const createShareCurrency: (signer: Signer, params: CreateShareCurrencyParams) => Effect.Effect<ShareCurrency, SuiRpcError | TransactionFailedError, SuiClient>;
42
43
  /**
43
44
  * Publishes `count` fresh, permanently immutable share-currency packages, batched
44
45
  * at ≤5 publishes per PTB and run concurrently through the executor. Each publish
45
46
  * consumes its UpgradeCap in the same PTB. Returns the published package ids
46
47
  * (fungible — order is not meaningful; the caller assigns them to work slots).
47
48
  */
48
- export declare function publishShareCurrencies(executor: ParallelTransactionExecutor, initializerAddress: string, count: number, template?: PackageBytecode): Promise<{
49
+ export declare const publishShareCurrencies: (executor: ParallelTransactionExecutor, initializerAddress: string, count: number, template?: PackageBytecode | undefined) => Effect.Effect<{
49
50
  packageIds: string[];
50
51
  gasUsed: number;
51
- }>;
52
+ }, SuiRpcError, never>;
52
53
  /**
53
54
  * Initializes each published package into a `Currency<Share>` + `TreasuryCap`,
54
55
  * batched and run concurrently. `metaOf` supplies each package's display metadata,
@@ -60,8 +61,8 @@ export declare function publishShareCurrencies(executor: ParallelTransactionExec
60
61
  * persist that batch immediately. If any batch fails, the succeeded ones are already
61
62
  * reported and this throws, so a resume re-initializes only the still-missing packages.
62
63
  */
63
- export declare function initializeShareCurrencies(executor: ParallelTransactionExecutor, signerAddress: string, packageIds: string[], metaOf: (packageId: string) => ShareCurrencyMeta, onBatch?: (currencies: ShareCurrency[], gasUsed: number) => void | Promise<void>): Promise<{
64
+ export declare const initializeShareCurrencies: (executor: ParallelTransactionExecutor, signerAddress: string, packageIds: string[], metaOf: (packageId: string) => ShareCurrencyMeta, onBatch?: ((currencies: ShareCurrency[], gasUsed: number) => void | Promise<void>) | undefined) => Effect.Effect<{
64
65
  currencies: ShareCurrency[];
65
66
  gasUsed: number;
66
- }>;
67
+ }, never, never>;
67
68
  //# sourceMappingURL=share.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../src/share.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAYvD,OAAO,EAAiD,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAexG,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,aAAa,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,GAAG,eAAe,CAcvG;AAID,MAAM,WAAW,yBAAyB;IACxC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,8FAA8F;AAC9F,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,aAAa,CAAC,CA8BxB;AAWD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,2BAA2B,EACrC,kBAAkB,EAAE,MAAM,EAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,eAAgC,GACzC,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBpD;AAgBD;;;;;;;;;;GAUG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,2BAA2B,EACrC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,iBAAiB,EAChD,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC/E,OAAO,CAAC;IAAE,UAAU,EAAE,aAAa,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAyC3D"}
1
+ {"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../src/share.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAShC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAErF,OAAO,EAAiD,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAexG,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,aAAa,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,GAAG,eAAe,CAcvG;AAID,MAAM,WAAW,yBAAyB;IACxC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,8FAA8F;AAC9F,eAAO,MAAM,mBAAmB,sIAgC9B,CAAC;AAWH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;gBAKD,MAAM,EAAE;aAAW,MAAM;sBAuBzD,CAAC;AAgBH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,2GAIhB,MAAM,KAAK,iBAAiB,0BACzB,aAAa,EAAE,WAAW,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBAChD,aAAa,EAAE;aAAW,MAAM;gBAuDhE,CAAC"}
package/dist/share.js CHANGED
@@ -2,7 +2,9 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { fromBase64, fromHex, toBase64 } from "@mysten/sui/utils";
4
4
  import { update_constants } from "@mysten/move-bytecode-template";
5
+ import { Effect } from "effect";
5
6
  import { execThunks, publishedPackageId, allPublishedPackageIds, createdByType, allCreatedByType, } from "@misofm/musicos";
7
+ import { SuiClient, SuiRpcError } from "@misofm/effect";
6
8
  import { publishShareCurrency, initializeShareCurrency } from "./transactions.js";
7
9
  import { SHARE_TEMPLATE } from "./share-template.js";
8
10
  import { executeViaExecutor } from "./execute.js";
@@ -35,16 +37,16 @@ export function patchInitializer(template, initializerAddress) {
35
37
  return { ...template, modules: [toBase64(patched)] };
36
38
  }
37
39
  /** Publishes an immutable package, then initializes a fresh share currency in a second tx. */
38
- export async function createShareCurrency(client, signer, params) {
40
+ export const createShareCurrency = Effect.fn("createShareCurrency")(function* (signer, params) {
39
41
  const signerAddress = signer.toSuiAddress();
40
42
  const initializer = params.initializerAddress ?? signerAddress;
41
43
  const recipient = params.treasuryCapRecipient ?? signerAddress;
42
44
  // Tx 1: publish the share package with the initializer baked in.
43
45
  const patched = patchInitializer(params.template ?? SHARE_TEMPLATE, initializer);
44
- const publishRes = await execThunks(client, signer, publishShareCurrency(patched));
46
+ const publishRes = yield* execThunks(signer, publishShareCurrency(patched));
45
47
  const packageId = publishedPackageId(publishRes);
46
48
  // Tx 2: initialize → creates the Currency object + transfers the TreasuryCap.
47
- const initRes = await execThunks(client, signer, initializeShareCurrency({
49
+ const initRes = yield* execThunks(signer, initializeShareCurrency({
48
50
  shareCurrencyPackageId: packageId,
49
51
  name: params.name,
50
52
  description: params.description,
@@ -58,7 +60,7 @@ export async function createShareCurrency(client, signer, params) {
58
60
  treasuryCapId: createdByType(initRes, TREASURY_CAP_TYPE),
59
61
  gasUsed: publishRes.gasUsed + initRes.gasUsed,
60
62
  };
61
- }
63
+ });
62
64
  // ── Batched (parallel) ─────────────────────────────────────────────────────
63
65
  /** Splits an array into fixed-size chunks. */
64
66
  function chunk(items, size) {
@@ -73,7 +75,7 @@ function chunk(items, size) {
73
75
  * consumes its UpgradeCap in the same PTB. Returns the published package ids
74
76
  * (fungible — order is not meaningful; the caller assigns them to work slots).
75
77
  */
76
- export async function publishShareCurrencies(executor, initializerAddress, count, template = SHARE_TEMPLATE) {
78
+ export const publishShareCurrencies = Effect.fn("publishShareCurrencies")(function* (executor, initializerAddress, count, template = SHARE_TEMPLATE) {
77
79
  if (count <= 0)
78
80
  return { packageIds: [], gasUsed: 0 };
79
81
  // One patched template, reused for every publish (identical bytecode → distinct packages).
@@ -82,14 +84,14 @@ export async function publishShareCurrencies(executor, initializerAddress, count
82
84
  for (let remaining = count; remaining > 0; remaining -= PUBLISHES_PER_PTB) {
83
85
  batchSizes.push(Math.min(PUBLISHES_PER_PTB, remaining));
84
86
  }
85
- const results = await Promise.all(batchSizes.map((n) => executeViaExecutor(executor, ...Array.from({ length: n }, () => publishShareCurrency(patched)))));
87
+ const results = yield* Effect.forEach(batchSizes, (n) => executeViaExecutor(executor, ...Array.from({ length: n }, () => publishShareCurrency(patched))), { concurrency: "unbounded" });
86
88
  const packageIds = results.flatMap(allPublishedPackageIds);
87
89
  const gasUsed = results.reduce((sum, r) => sum + r.gasUsed, 0);
88
90
  if (packageIds.length !== count) {
89
91
  throw new Error(`Expected ${count} published share packages, got ${packageIds.length}.`);
90
92
  }
91
93
  return { packageIds, gasUsed };
92
- }
94
+ });
93
95
  /** Re-associates one init PTB's created objects back to their packages by share type. */
94
96
  function currenciesFromResult(res, batchPkgs) {
95
97
  const currencies = allCreatedByType(res, CURRENCY_TYPE);
@@ -116,36 +118,41 @@ function currenciesFromResult(res, batchPkgs) {
116
118
  * persist that batch immediately. If any batch fails, the succeeded ones are already
117
119
  * reported and this throws, so a resume re-initializes only the still-missing packages.
118
120
  */
119
- export async function initializeShareCurrencies(executor, signerAddress, packageIds, metaOf, onBatch) {
121
+ export const initializeShareCurrencies = Effect.fn("initializeShareCurrencies")(function* (executor, signerAddress, packageIds, metaOf, onBatch) {
120
122
  if (packageIds.length === 0)
121
123
  return { currencies: [], gasUsed: 0 };
122
124
  const batches = chunk(packageIds, INITS_PER_PTB);
123
- const settled = await Promise.allSettled(batches.map(async (batchPkgs) => {
124
- const res = await executeViaExecutor(executor, ...batchPkgs.map((pkg) => {
125
- const meta = metaOf(pkg);
126
- return initializeShareCurrency({
127
- shareCurrencyPackageId: pkg,
128
- name: meta.name,
129
- description: meta.description,
130
- iconUrl: meta.iconUrl ?? "",
131
- treasuryCapRecipient: signerAddress,
132
- });
133
- }));
134
- const batchCurrencies = currenciesFromResult(res, batchPkgs);
135
- if (onBatch)
136
- await onBatch(batchCurrencies, res.gasUsed);
137
- return { batchCurrencies, gasUsed: res.gasUsed };
138
- }));
125
+ // `Effect.either` per batch preserves `Promise.allSettled`'s partial-failure
126
+ // tolerance: one batch's `SuiRpcError` does not cancel the others in flight.
127
+ const outcomes = yield* Effect.forEach(batches, (batchPkgs) => executeViaExecutor(executor, ...batchPkgs.map((pkg) => {
128
+ const meta = metaOf(pkg);
129
+ return initializeShareCurrency({
130
+ shareCurrencyPackageId: pkg,
131
+ name: meta.name,
132
+ description: meta.description,
133
+ iconUrl: meta.iconUrl ?? "",
134
+ treasuryCapRecipient: signerAddress,
135
+ });
136
+ })).pipe(Effect.map((res) => ({ batchCurrencies: currenciesFromResult(res, batchPkgs), gasUsed: res.gasUsed })),
137
+ // A rejecting callback is this batch's failure, not a defect: a defect
138
+ // would fail the whole forEach and interrupt sibling batches whose
139
+ // transactions are already submitted.
140
+ Effect.tap(({ batchCurrencies, gasUsed }) => onBatch
141
+ ? Effect.tryPromise({
142
+ try: () => Promise.resolve(onBatch(batchCurrencies, gasUsed)),
143
+ catch: (cause) => new SuiRpcError({ operation: "onBatch", cause }),
144
+ })
145
+ : Effect.void), Effect.result), { concurrency: "unbounded" });
139
146
  const currencies = [];
140
147
  const errors = [];
141
148
  let gasUsed = 0;
142
- for (const s of settled) {
143
- if (s.status === "fulfilled") {
144
- currencies.push(...s.value.batchCurrencies);
145
- gasUsed += s.value.gasUsed;
149
+ for (const outcome of outcomes) {
150
+ if (outcome._tag === "Success") {
151
+ currencies.push(...outcome.success.batchCurrencies);
152
+ gasUsed += outcome.success.gasUsed;
146
153
  }
147
154
  else {
148
- errors.push(s.reason);
155
+ errors.push(outcome.failure);
149
156
  }
150
157
  }
151
158
  if (errors.length > 0) {
@@ -153,5 +160,5 @@ export async function initializeShareCurrencies(executor, signerAddress, package
153
160
  throw new Error(`${errors.length}/${batches.length} initialize batch(es) failed: ${msg}`);
154
161
  }
155
162
  return { currencies, gasUsed };
156
- }
163
+ });
157
164
  //# sourceMappingURL=share.js.map
package/dist/share.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"share.js","sourceRoot":"","sources":["../src/share.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"share.js","sourceRoot":"","sources":["../src/share.ts"],"names":[],"mappings":"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"}
package/dist/vault.d.ts CHANGED
@@ -9,8 +9,9 @@
9
9
  * results must stay under the caller's control.
10
10
  */
11
11
  import type { BcsType } from "@mysten/sui/bcs";
12
- import type { ClientWithCoreApi } from "@mysten/sui/client";
13
12
  import type { Transaction, TransactionArgument, TransactionObjectArgument } from "@mysten/sui/transactions";
13
+ import { Effect, Schema } from "effect";
14
+ import { SuiClient, SuiRpcError, type BcsDecodeError, type ObjectTypeMismatchError } from "@misofm/effect";
14
15
  /** A legacy work whose raw protocol admin cap is still address-owned. */
15
16
  /** An object id resolved lazily when a transaction thunk is applied. */
16
17
  export type ObjectInput = string | TransactionObjectArgument;
@@ -338,14 +339,24 @@ export declare function parseReleaseTrackRevenueDistributedEvent(content: Uint8A
338
339
  recordingId: string;
339
340
  amount: string;
340
341
  };
341
- /** Read and BCS-parse an owner-held VaultAdminCap. */
342
- export declare function getVaultAdminCap(client: ClientWithCoreApi, vaultAdminCapId: string, expected: {
342
+ declare const VaultAdminCap_base: Schema.Class<VaultAdminCap, Schema.Struct<{
343
+ readonly id: Schema.String;
344
+ readonly vaultId: Schema.String;
345
+ }>, {}>;
346
+ /**
347
+ * A caller-held handle to a shared `Vault<Cap>`: the vault's id and this cap's
348
+ * own id. There is no separate `Vault` BCS struct to decode — the vault
349
+ * itself is a UID-only shared object whose state lives entirely in dynamic
350
+ * fields, so `VaultAdminCap` is the addressable domain value for vault
351
+ * custody.
352
+ */
353
+ export declare class VaultAdminCap extends VaultAdminCap_base {
354
+ }
355
+ /** Read and BCS-parse an owner-held VaultAdminCap, or `null` when no such object exists. */
356
+ export declare const getVaultAdminCap: (vaultAdminCapId: string, expected: {
343
357
  readonly vaultPackageId: string;
344
358
  readonly capType: string;
345
- }): Promise<{
346
- id: string;
347
- vault_id: string;
348
- } | null>;
359
+ }) => Effect.Effect<VaultAdminCap | null, BcsDecodeError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
349
360
  /**
350
361
  * Build a `vector<Receiving<Coin<Currency>>>` for receive-and-* plugin calls.
351
362
  * The caller supplies only object ids; recipient/ownership checks still happen
@@ -357,8 +368,9 @@ export interface ReceivingObjectRef {
357
368
  readonly digest: string;
358
369
  }
359
370
  /** Resolve owned coins to the exact references required by a Receiving input. */
360
- export declare function resolveReceivingCoins(client: ClientWithCoreApi, coinIds: readonly string[]): Promise<ReceivingObjectRef[]>;
371
+ export declare const resolveReceivingCoins: (coinIds: readonly string[]) => Effect.Effect<ReceivingObjectRef[], SuiRpcError, SuiClient>;
361
372
  export declare function receivingCoins(tx: Transaction, currencyType: string, coins: readonly ReceivingObjectRef[]): TransactionArgument;
362
373
  /** Type-only helper for consumers that supply a generated admin-cap BCS type. */
363
374
  export type VaultCapBcs<Cap extends BcsType<unknown>> = Cap;
375
+ export {};
364
376
  //# sourceMappingURL=vault.d.ts.map