@misofm/sdk 0.9.0 → 0.10.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 (275) hide show
  1. package/README.md +88 -56
  2. package/dist/client.d.ts +126 -18
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +210 -44
  5. package/dist/client.js.map +1 -1
  6. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +205 -0
  7. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -0
  8. package/dist/contracts/composition_routed_stake/composition_routed_stake.js +184 -0
  9. package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -0
  10. package/dist/contracts/composition_routed_stake/witness.d.ts +7 -0
  11. package/dist/contracts/composition_routed_stake/witness.d.ts.map +1 -0
  12. package/dist/contracts/composition_routed_stake/witness.js +9 -0
  13. package/dist/contracts/composition_routed_stake/witness.js.map +1 -0
  14. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +89 -28
  15. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -1
  16. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +84 -23
  17. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -1
  18. package/dist/contracts/composition_royalty_pool/witness.d.ts +6 -0
  19. package/dist/contracts/composition_royalty_pool/witness.d.ts.map +1 -0
  20. package/dist/contracts/composition_royalty_pool/witness.js +8 -0
  21. package/dist/contracts/composition_royalty_pool/witness.js.map +1 -0
  22. package/dist/contracts/genre/genre.d.ts +96 -0
  23. package/dist/contracts/genre/genre.d.ts.map +1 -0
  24. package/dist/contracts/genre/genre.js +107 -0
  25. package/dist/contracts/genre/genre.js.map +1 -0
  26. package/dist/contracts/recording_advisory/recording_advisory.d.ts +194 -0
  27. package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -0
  28. package/dist/contracts/recording_advisory/recording_advisory.js +204 -0
  29. package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -0
  30. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +6 -0
  31. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -0
  32. package/dist/contracts/recording_language/deps/language_code/language_code.js +8 -0
  33. package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -0
  34. package/dist/contracts/recording_language/recording_language.d.ts +152 -0
  35. package/dist/contracts/recording_language/recording_language.d.ts.map +1 -0
  36. package/dist/contracts/recording_language/recording_language.js +149 -0
  37. package/dist/contracts/recording_language/recording_language.js.map +1 -0
  38. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts +52 -0
  39. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts.map +1 -0
  40. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js +37 -0
  41. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js.map +1 -0
  42. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +131 -0
  43. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -0
  44. package/dist/contracts/recording_master_reference/recording_master_reference.js +121 -0
  45. package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -0
  46. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts +52 -0
  47. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts.map +1 -0
  48. package/dist/contracts/recording_preview/deps/ori/walrus_data.js +37 -0
  49. package/dist/contracts/recording_preview/deps/ori/walrus_data.js.map +1 -0
  50. package/dist/contracts/recording_preview/recording_preview.d.ts +104 -0
  51. package/dist/contracts/recording_preview/recording_preview.d.ts.map +1 -0
  52. package/dist/contracts/recording_preview/recording_preview.js +94 -0
  53. package/dist/contracts/recording_preview/recording_preview.js.map +1 -0
  54. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +90 -28
  55. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -1
  56. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +84 -23
  57. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -1
  58. package/dist/contracts/recording_royalty_pool/witness.d.ts +6 -0
  59. package/dist/contracts/recording_royalty_pool/witness.d.ts.map +1 -0
  60. package/dist/contracts/recording_royalty_pool/witness.js +8 -0
  61. package/dist/contracts/recording_royalty_pool/witness.js.map +1 -0
  62. package/dist/contracts/release_description/release_description.d.ts +112 -0
  63. package/dist/contracts/release_description/release_description.d.ts.map +1 -0
  64. package/dist/contracts/release_description/release_description.js +123 -0
  65. package/dist/contracts/release_description/release_description.js.map +1 -0
  66. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +644 -0
  67. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -0
  68. package/dist/contracts/release_dsp_link/release_dsp_link.js +556 -0
  69. package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -0
  70. package/dist/contracts/release_genre/deps/per_track/per_track.d.ts +33 -0
  71. package/dist/contracts/release_genre/deps/per_track/per_track.d.ts.map +1 -0
  72. package/dist/contracts/release_genre/deps/per_track/per_track.js +32 -0
  73. package/dist/contracts/release_genre/deps/per_track/per_track.js.map +1 -0
  74. package/dist/contracts/release_genre/release_genre.d.ts +193 -0
  75. package/dist/contracts/release_genre/release_genre.d.ts.map +1 -0
  76. package/dist/contracts/release_genre/release_genre.js +207 -0
  77. package/dist/contracts/release_genre/release_genre.js.map +1 -0
  78. package/dist/contracts/release_kind/release_kind.d.ts +98 -0
  79. package/dist/contracts/release_kind/release_kind.d.ts.map +1 -0
  80. package/dist/contracts/release_kind/release_kind.js +109 -0
  81. package/dist/contracts/release_kind/release_kind.js.map +1 -0
  82. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +106 -0
  83. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -0
  84. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +113 -0
  85. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -0
  86. package/dist/contracts/release_revenue_distributor/witness.d.ts +7 -0
  87. package/dist/contracts/release_revenue_distributor/witness.d.ts.map +1 -0
  88. package/dist/contracts/release_revenue_distributor/witness.js +9 -0
  89. package/dist/contracts/release_revenue_distributor/witness.js.map +1 -0
  90. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts +52 -0
  91. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts.map +1 -0
  92. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js +37 -0
  93. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js.map +1 -0
  94. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts +91 -0
  95. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts.map +1 -0
  96. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js +91 -0
  97. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js.map +1 -0
  98. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +54 -0
  99. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -0
  100. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js +37 -0
  101. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -0
  102. package/dist/contracts/routed_stake/deps/std/type_name.d.ts +18 -0
  103. package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -0
  104. package/dist/contracts/routed_stake/deps/std/type_name.js +20 -0
  105. package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -0
  106. package/dist/contracts/routed_stake/deps/sui/balance.d.ts +13 -0
  107. package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -0
  108. package/dist/contracts/routed_stake/deps/sui/balance.js +15 -0
  109. package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -0
  110. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts +37 -0
  111. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -0
  112. package/dist/contracts/routed_stake/deps/sui/vec_map.js +28 -0
  113. package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -0
  114. package/dist/contracts/routed_stake/routed_stake.d.ts +356 -0
  115. package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -0
  116. package/dist/contracts/routed_stake/routed_stake.js +311 -0
  117. package/dist/contracts/routed_stake/routed_stake.js.map +1 -0
  118. package/dist/contracts/royalty_pool/pool.d.ts +27 -17
  119. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
  120. package/dist/contracts/royalty_pool/pool.js +26 -17
  121. package/dist/contracts/royalty_pool/pool.js.map +1 -1
  122. package/dist/contracts/vault/deps/sui/bag.d.ts +35 -0
  123. package/dist/contracts/vault/deps/sui/bag.d.ts.map +1 -0
  124. package/dist/contracts/vault/deps/sui/bag.js +37 -0
  125. package/dist/contracts/vault/deps/sui/bag.js.map +1 -0
  126. package/dist/contracts/vault/deps/sui/borrow.d.ts +20 -0
  127. package/dist/contracts/vault/deps/sui/borrow.d.ts.map +1 -0
  128. package/dist/contracts/vault/deps/sui/borrow.js +21 -0
  129. package/dist/contracts/vault/deps/sui/borrow.js.map +1 -0
  130. package/dist/contracts/vault/vault.d.ts +276 -0
  131. package/dist/contracts/vault/vault.d.ts.map +1 -0
  132. package/dist/contracts/vault/vault.js +274 -0
  133. package/dist/contracts/vault/vault.js.map +1 -0
  134. package/dist/contracts.d.ts +14 -2
  135. package/dist/contracts.d.ts.map +1 -1
  136. package/dist/contracts.js +16 -7
  137. package/dist/contracts.js.map +1 -1
  138. package/dist/cover.d.ts +17 -3
  139. package/dist/cover.d.ts.map +1 -1
  140. package/dist/cover.js +43 -20
  141. package/dist/cover.js.map +1 -1
  142. package/dist/credits.d.ts +31 -12
  143. package/dist/credits.d.ts.map +1 -1
  144. package/dist/credits.js +41 -25
  145. package/dist/credits.js.map +1 -1
  146. package/dist/deployments.d.ts +31 -57
  147. package/dist/deployments.d.ts.map +1 -1
  148. package/dist/deployments.js +5 -53
  149. package/dist/deployments.js.map +1 -1
  150. package/dist/index.d.ts +4 -2
  151. package/dist/index.d.ts.map +1 -1
  152. package/dist/index.js +6 -5
  153. package/dist/index.js.map +1 -1
  154. package/dist/pressing.d.ts +8 -7
  155. package/dist/pressing.d.ts.map +1 -1
  156. package/dist/pressing.js +91 -32
  157. package/dist/pressing.js.map +1 -1
  158. package/dist/read/artist.js +3 -3
  159. package/dist/read/artist.js.map +1 -1
  160. package/dist/read/catalog.d.ts +14 -9
  161. package/dist/read/catalog.d.ts.map +1 -1
  162. package/dist/read/catalog.js +71 -37
  163. package/dist/read/catalog.js.map +1 -1
  164. package/dist/read/client.d.ts +4 -2
  165. package/dist/read/client.d.ts.map +1 -1
  166. package/dist/read/client.js +15 -4
  167. package/dist/read/client.js.map +1 -1
  168. package/dist/read/config.d.ts +14 -11
  169. package/dist/read/config.d.ts.map +1 -1
  170. package/dist/read/config.js +10 -37
  171. package/dist/read/config.js.map +1 -1
  172. package/dist/read/index.d.ts +2 -2
  173. package/dist/read/index.d.ts.map +1 -1
  174. package/dist/read/index.js +1 -1
  175. package/dist/read/index.js.map +1 -1
  176. package/dist/read/receipts.d.ts +24 -7
  177. package/dist/read/receipts.d.ts.map +1 -1
  178. package/dist/read/receipts.js +78 -25
  179. package/dist/read/receipts.js.map +1 -1
  180. package/dist/read/types.d.ts +43 -25
  181. package/dist/read/types.d.ts.map +1 -1
  182. package/dist/read/types.js +2 -2
  183. package/dist/read/types.js.map +1 -1
  184. package/dist/recording-extensions.d.ts +37 -0
  185. package/dist/recording-extensions.d.ts.map +1 -0
  186. package/dist/recording-extensions.js +61 -0
  187. package/dist/recording-extensions.js.map +1 -0
  188. package/dist/release-extensions.d.ts +92 -0
  189. package/dist/release-extensions.d.ts.map +1 -0
  190. package/dist/release-extensions.js +175 -0
  191. package/dist/release-extensions.js.map +1 -0
  192. package/dist/release-graph.d.ts +17 -26
  193. package/dist/release-graph.d.ts.map +1 -1
  194. package/dist/release-graph.js +55 -49
  195. package/dist/release-graph.js.map +1 -1
  196. package/dist/transactions.d.ts +43 -24
  197. package/dist/transactions.d.ts.map +1 -1
  198. package/dist/transactions.js +48 -27
  199. package/dist/transactions.js.map +1 -1
  200. package/dist/vault.d.ts +268 -0
  201. package/dist/vault.d.ts.map +1 -0
  202. package/dist/vault.js +389 -0
  203. package/dist/vault.js.map +1 -0
  204. package/package.json +17 -11
  205. package/src/client.ts +428 -61
  206. package/src/contracts/composition_routed_stake/composition_routed_stake.ts +346 -0
  207. package/src/contracts/composition_routed_stake/witness.ts +11 -0
  208. package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +151 -35
  209. package/src/contracts/composition_royalty_pool/witness.ts +7 -0
  210. package/src/contracts/genre/genre.ts +151 -0
  211. package/src/contracts/recording_advisory/recording_advisory.ts +315 -0
  212. package/src/contracts/recording_language/deps/language_code/language_code.ts +7 -0
  213. package/src/contracts/recording_language/recording_language.ts +237 -0
  214. package/src/contracts/recording_master_reference/deps/ori/walrus_data.ts +36 -0
  215. package/src/contracts/recording_master_reference/recording_master_reference.ts +181 -0
  216. package/src/contracts/recording_preview/deps/ori/walrus_data.ts +36 -0
  217. package/src/contracts/recording_preview/recording_preview.ts +154 -0
  218. package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +152 -35
  219. package/src/contracts/recording_royalty_pool/witness.ts +7 -0
  220. package/src/contracts/release_description/release_description.ts +167 -0
  221. package/src/contracts/release_dsp_link/release_dsp_link.ts +813 -0
  222. package/src/contracts/release_genre/deps/per_track/per_track.ts +36 -0
  223. package/src/contracts/release_genre/release_genre.ts +314 -0
  224. package/src/contracts/release_kind/release_kind.ts +153 -0
  225. package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +178 -0
  226. package/src/contracts/release_revenue_distributor/witness.ts +11 -0
  227. package/src/contracts/release_snapshot_bundle/deps/ori/walrus_data.ts +36 -0
  228. package/src/contracts/release_snapshot_bundle/release_snapshot_bundle.ts +124 -0
  229. package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +39 -0
  230. package/src/contracts/routed_stake/deps/std/type_name.ts +22 -0
  231. package/src/contracts/routed_stake/deps/sui/balance.ts +17 -0
  232. package/src/contracts/routed_stake/deps/sui/vec_map.ts +33 -0
  233. package/src/contracts/routed_stake/routed_stake.ts +508 -0
  234. package/src/contracts/royalty_pool/pool.ts +34 -24
  235. package/src/contracts/vault/deps/sui/bag.ts +39 -0
  236. package/src/contracts/vault/deps/sui/borrow.ts +25 -0
  237. package/src/contracts/vault/vault.ts +454 -0
  238. package/src/contracts.ts +17 -9
  239. package/src/cover.ts +62 -37
  240. package/src/credits.ts +64 -51
  241. package/src/deployments.ts +36 -97
  242. package/src/index.ts +11 -5
  243. package/src/pressing.ts +135 -39
  244. package/src/read/artist.ts +3 -3
  245. package/src/read/catalog.ts +99 -44
  246. package/src/read/client.ts +20 -4
  247. package/src/read/config.ts +23 -49
  248. package/src/read/index.ts +3 -1
  249. package/src/read/receipts.ts +103 -26
  250. package/src/read/types.ts +44 -27
  251. package/src/recording-extensions.ts +102 -0
  252. package/src/release-extensions.ts +286 -0
  253. package/src/release-graph.ts +68 -81
  254. package/src/transactions.ts +79 -53
  255. package/src/vault.ts +777 -0
  256. package/dist/contracts/miso_drop/drop.d.ts +0 -550
  257. package/dist/contracts/miso_drop/drop.d.ts.map +0 -1
  258. package/dist/contracts/miso_drop/drop.js +0 -523
  259. package/dist/contracts/miso_drop/drop.js.map +0 -1
  260. package/dist/contracts/release_registry/release_registry.d.ts +0 -114
  261. package/dist/contracts/release_registry/release_registry.d.ts.map +0 -1
  262. package/dist/contracts/release_registry/release_registry.js +0 -119
  263. package/dist/contracts/release_registry/release_registry.js.map +0 -1
  264. package/dist/drop.d.ts +0 -127
  265. package/dist/drop.d.ts.map +0 -1
  266. package/dist/drop.js +0 -202
  267. package/dist/drop.js.map +0 -1
  268. package/dist/extensions/royalty-pool.d.ts +0 -32
  269. package/dist/extensions/royalty-pool.d.ts.map +0 -1
  270. package/dist/extensions/royalty-pool.js +0 -33
  271. package/dist/extensions/royalty-pool.js.map +0 -1
  272. package/src/contracts/miso_drop/drop.ts +0 -798
  273. package/src/contracts/release_registry/release_registry.ts +0 -160
  274. package/src/drop.ts +0 -376
  275. package/src/extensions/royalty-pool.ts +0 -90
@@ -0,0 +1,311 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ /**
5
+ * A stake whose rewards are irrevocably routed to its parent's royalty pool.
6
+ *
7
+ * A `RoutedStake<StakeShare, PoolShare>` is a derived object of any UID-bearing
8
+ * parent (same pattern as `RoyaltyPool`). It wraps a `Stake<StakeShare>` — shares
9
+ * of some other asset that the parent owns — and commits the rewards that stake
10
+ * earns to the parent's own `RoyaltyPool<PoolShare, Currency>`: `sweep` is the
11
+ * only reachable claim path, and it deposits straight into the pool derived from
12
+ * the same parent. The wrapper exists precisely so the raw `Stake` is never
13
+ * exposed — a bare shared `Stake` would let any caller claim its rewards and keep
14
+ * them.
15
+ *
16
+ * Because the route is fixed, the wrapper is safe to share: `sweep` is
17
+ * permissionless, and it does not matter who calls it, since the money can only go
18
+ * one place. Lifecycle operations (`register`, `unregister`, `unstake`, `restake`)
19
+ * instead require the parent's `&mut UID` as the credential — cap-gating happens
20
+ * at the parent, exactly as with `RoyaltyPool` creation. `register`/`unregister`
21
+ * are gated because a stake registers at most once per `Currency`: a
22
+ * permissionless register could grief by binding the stake to a garbage same-typed
23
+ * pool, permanently blocking the real one for that currency.
24
+ *
25
+ * The derivation key encodes only `StakeShare` — at most one routed stake per
26
+ * `(parent, StakeShare)` pair, whatever `PoolShare` it used (the same
27
+ * burned-by-first-claim consequence as `RoyaltyPoolKey`; the parent's cap-gated
28
+ * extension is expected to pin `PoolShare` to the parent's own share type). For
29
+ * the same reason the wrapper is never deleted: `unstake` empties it and `restake`
30
+ * refills it, so the one derived address per pair stays usable forever.
31
+ */
32
+ import { MoveStruct, MoveTuple, normalizeMoveArguments } from '../utils/index.js';
33
+ import { bcs } from '@mysten/sui/bcs';
34
+ import {} from '@mysten/sui/transactions';
35
+ import * as stake_1 from './deps/royalty_pool/stake.js';
36
+ const $moduleName = '@local-pkg/routed_stake::routed_stake';
37
+ export const RoutedStake = new MoveStruct({ name: `${$moduleName}::RoutedStake<phantom StakeShare, phantom PoolShare>`, fields: {
38
+ id: bcs.Address,
39
+ /**
40
+ * The wrapped position. `None` between `unstake` and `restake`; the wrapper itself
41
+ * persists because its derived address can never be re-claimed.
42
+ */
43
+ stake: bcs.option(stake_1.Stake)
44
+ } });
45
+ export const RoutedStakeKey = new MoveTuple({ name: `${$moduleName}::RoutedStakeKey<phantom StakeShare>`, fields: [bcs.bool()] });
46
+ export const RoutedStakeCreatedEvent = new MoveStruct({ name: `${$moduleName}::RoutedStakeCreatedEvent<phantom StakeShare, phantom PoolShare>`, fields: {
47
+ routed_stake_id: bcs.Address,
48
+ parent_id: bcs.Address,
49
+ staked_value: bcs.u64()
50
+ } });
51
+ export const RoutedStakeSweptEvent = new MoveStruct({ name: `${$moduleName}::RoutedStakeSweptEvent<phantom StakeShare, phantom PoolShare, phantom Currency>`, fields: {
52
+ routed_stake_id: bcs.Address,
53
+ parent_id: bcs.Address,
54
+ value: bcs.u64()
55
+ } });
56
+ export const RoutedStakeUnstakedEvent = new MoveStruct({ name: `${$moduleName}::RoutedStakeUnstakedEvent<phantom StakeShare, phantom PoolShare>`, fields: {
57
+ routed_stake_id: bcs.Address,
58
+ parent_id: bcs.Address,
59
+ unstaked_value: bcs.u64()
60
+ } });
61
+ export const RoutedStakeRestakedEvent = new MoveStruct({ name: `${$moduleName}::RoutedStakeRestakedEvent<phantom StakeShare, phantom PoolShare>`, fields: {
62
+ routed_stake_id: bcs.Address,
63
+ parent_id: bcs.Address,
64
+ staked_value: bcs.u64()
65
+ } });
66
+ /**
67
+ * Construct a routed stake as a derived object of `parent`, wrapping `balance` as
68
+ * its staked position. Aborts (in `stake::new`) on a zero balance, and (in
69
+ * `derived_object::claim`) if the `(parent, StakeShare)` address was already
70
+ * claimed.
71
+ *
72
+ * Cap-gating happens at the parent: callers must obtain `&mut UID` via whatever
73
+ * cap-gated accessor the parent exposes.
74
+ */
75
+ export function _new(options) {
76
+ const packageAddress = options.package ?? '@local-pkg/routed_stake';
77
+ const argumentsTypes = [
78
+ '0x2::object::ID',
79
+ null
80
+ ];
81
+ const parameterNames = ["parent", "balance"];
82
+ return (tx) => tx.moveCall({
83
+ package: packageAddress,
84
+ module: 'routed_stake',
85
+ function: 'new',
86
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
87
+ typeArguments: options.typeArguments
88
+ });
89
+ }
90
+ /** Share the routed stake so anyone can `sweep` it. */
91
+ export function share(options) {
92
+ const packageAddress = options.package ?? '@local-pkg/routed_stake';
93
+ const argumentsTypes = [
94
+ null
95
+ ];
96
+ const parameterNames = ["self"];
97
+ return (tx) => tx.moveCall({
98
+ package: packageAddress,
99
+ module: 'routed_stake',
100
+ function: 'share',
101
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
102
+ typeArguments: options.typeArguments
103
+ });
104
+ }
105
+ /**
106
+ * Register the wrapped stake with the pool it earns from, so future deposits
107
+ * accrue to it. Which same-typed pool is the _correct_ one is the caller's concern
108
+ * — the parent's extension is expected to pin it (e.g. by derivation from the
109
+ * asset object) before delegating here.
110
+ */
111
+ export function register(options) {
112
+ const packageAddress = options.package ?? '@local-pkg/routed_stake';
113
+ const argumentsTypes = [
114
+ null,
115
+ '0x2::object::ID',
116
+ null
117
+ ];
118
+ const parameterNames = ["self", "parent", "stakePool"];
119
+ return (tx) => tx.moveCall({
120
+ package: packageAddress,
121
+ module: 'routed_stake',
122
+ function: 'register',
123
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
124
+ typeArguments: options.typeArguments
125
+ });
126
+ }
127
+ /**
128
+ * Unregister the wrapped stake from a pool it earns from. The pool requires
129
+ * claimable rewards to be drained to zero first — i.e. a final `sweep` — so
130
+ * accrued rewards provably reach the parent's pool before the position can move.
131
+ */
132
+ export function unregister(options) {
133
+ const packageAddress = options.package ?? '@local-pkg/routed_stake';
134
+ const argumentsTypes = [
135
+ null,
136
+ '0x2::object::ID',
137
+ null
138
+ ];
139
+ const parameterNames = ["self", "parent", "stakePool"];
140
+ return (tx) => tx.moveCall({
141
+ package: packageAddress,
142
+ module: 'routed_stake',
143
+ function: 'unregister',
144
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
145
+ typeArguments: options.typeArguments
146
+ });
147
+ }
148
+ /**
149
+ * Remove the staked position and return its principal. Aborts (in
150
+ * `stake::destroy`) while any pool registrations remain. The emptied wrapper
151
+ * persists — its derived address is burned forever, so deleting it would
152
+ * permanently destroy the parent's ability to route-stake this share type;
153
+ * `restake` refills it instead.
154
+ */
155
+ export function unstake(options) {
156
+ const packageAddress = options.package ?? '@local-pkg/routed_stake';
157
+ const argumentsTypes = [
158
+ null,
159
+ '0x2::object::ID'
160
+ ];
161
+ const parameterNames = ["self", "parent"];
162
+ return (tx) => tx.moveCall({
163
+ package: packageAddress,
164
+ module: 'routed_stake',
165
+ function: 'unstake',
166
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
167
+ typeArguments: options.typeArguments
168
+ });
169
+ }
170
+ /**
171
+ * Refill an emptied wrapper with a new staked position. Aborts if a position is
172
+ * already present.
173
+ */
174
+ export function restake(options) {
175
+ const packageAddress = options.package ?? '@local-pkg/routed_stake';
176
+ const argumentsTypes = [
177
+ null,
178
+ '0x2::object::ID',
179
+ null
180
+ ];
181
+ const parameterNames = ["self", "parent", "balance"];
182
+ return (tx) => tx.moveCall({
183
+ package: packageAddress,
184
+ module: 'routed_stake',
185
+ function: 'restake',
186
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
187
+ typeArguments: options.typeArguments
188
+ });
189
+ }
190
+ /**
191
+ * Claim the wrapped stake's accrued rewards from `stake_pool` and deposit them
192
+ * into `routed_pool` — the parent's own pool. Permissionless: the caller supplies
193
+ * `parent_id`, but cannot lie, because both the wrapper's own address and
194
+ * `routed_pool`'s address must derive from it. A zero reward is a no-op (no
195
+ * event), so the call composes safely into batch PTBs; a positive reward aborts
196
+ * (in `royalty_pool::pool`) if `routed_pool` has no registered stakes — the reward
197
+ * stays claimable here until it does.
198
+ */
199
+ export function sweep(options) {
200
+ const packageAddress = options.package ?? '@local-pkg/routed_stake';
201
+ const argumentsTypes = [
202
+ null,
203
+ null,
204
+ null,
205
+ '0x2::object::ID'
206
+ ];
207
+ const parameterNames = ["self", "stakePool", "routedPool", "parentId"];
208
+ return (tx) => tx.moveCall({
209
+ package: packageAddress,
210
+ module: 'routed_stake',
211
+ function: 'sweep',
212
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
213
+ typeArguments: options.typeArguments
214
+ });
215
+ }
216
+ export function id(options) {
217
+ const packageAddress = options.package ?? '@local-pkg/routed_stake';
218
+ const argumentsTypes = [
219
+ null
220
+ ];
221
+ const parameterNames = ["self"];
222
+ return (tx) => tx.moveCall({
223
+ package: packageAddress,
224
+ module: 'routed_stake',
225
+ function: 'id',
226
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
227
+ typeArguments: options.typeArguments
228
+ });
229
+ }
230
+ export function hasStake(options) {
231
+ const packageAddress = options.package ?? '@local-pkg/routed_stake';
232
+ const argumentsTypes = [
233
+ null
234
+ ];
235
+ const parameterNames = ["self"];
236
+ return (tx) => tx.moveCall({
237
+ package: packageAddress,
238
+ module: 'routed_stake',
239
+ function: 'has_stake',
240
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
241
+ typeArguments: options.typeArguments
242
+ });
243
+ }
244
+ /** Staked principal, or 0 while the wrapper is empty. */
245
+ export function value(options) {
246
+ const packageAddress = options.package ?? '@local-pkg/routed_stake';
247
+ const argumentsTypes = [
248
+ null
249
+ ];
250
+ const parameterNames = ["self"];
251
+ return (tx) => tx.moveCall({
252
+ package: packageAddress,
253
+ module: 'routed_stake',
254
+ function: 'value',
255
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
256
+ typeArguments: options.typeArguments
257
+ });
258
+ }
259
+ /**
260
+ * Read-only access to the wrapped stake, e.g. for `pool::pending_rewards`. Aborts
261
+ * while the wrapper is empty (`has_stake` to guard).
262
+ */
263
+ export function stake(options) {
264
+ const packageAddress = options.package ?? '@local-pkg/routed_stake';
265
+ const argumentsTypes = [
266
+ null
267
+ ];
268
+ const parameterNames = ["self"];
269
+ return (tx) => tx.moveCall({
270
+ package: packageAddress,
271
+ module: 'routed_stake',
272
+ function: 'stake',
273
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
274
+ typeArguments: options.typeArguments
275
+ });
276
+ }
277
+ /**
278
+ * Compute the deterministic address of a routed stake given its parent ID and
279
+ * `StakeShare` type parameter.
280
+ */
281
+ export function derivedAddress(options) {
282
+ const packageAddress = options.package ?? '@local-pkg/routed_stake';
283
+ const argumentsTypes = [
284
+ '0x2::object::ID'
285
+ ];
286
+ const parameterNames = ["parentId"];
287
+ return (tx) => tx.moveCall({
288
+ package: packageAddress,
289
+ module: 'routed_stake',
290
+ function: 'derived_address',
291
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
292
+ typeArguments: options.typeArguments
293
+ });
294
+ }
295
+ /** Verify the routed stake was derived from the given parent ID. */
296
+ export function assertDerivedFrom(options) {
297
+ const packageAddress = options.package ?? '@local-pkg/routed_stake';
298
+ const argumentsTypes = [
299
+ null,
300
+ '0x2::object::ID'
301
+ ];
302
+ const parameterNames = ["self", "parentId"];
303
+ return (tx) => tx.moveCall({
304
+ package: packageAddress,
305
+ module: 'routed_stake',
306
+ function: 'assert_derived_from',
307
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
308
+ typeArguments: options.typeArguments
309
+ });
310
+ }
311
+ //# sourceMappingURL=routed_stake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routed_stake.js","sourceRoot":"","sources":["../../../src/contracts/routed_stake/routed_stake.ts"],"names":[],"mappings":"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"}
@@ -5,25 +5,33 @@
5
5
  * Accumulator-based royalty distribution pool for the protocol's share tokens.
6
6
  *
7
7
  * A `RoyaltyPool<Share, Currency>` is a derived object of any UID-bearing parent.
8
- * Its address is deterministically derived from `(parent_id, Currency)` — at most
9
- * one pool per `(parent, Currency)` pair. The `Share` phantom identifies which
10
- * share-token type can stake against the pool.
8
+ * Its address is deterministically derived from `(parent_id, Share, Currency)` —
9
+ * at most one pool per triple, and the pool at that address is necessarily typed
10
+ * `RoyaltyPool<Share, Currency>` (the same type parameters produce the address and
11
+ * the object) and necessarily shared (the pool is key-only; `share` is its only
12
+ * consumer). The `Share` phantom identifies which share-token type can stake
13
+ * against the pool.
11
14
  *
12
15
  * Holders create a `Stake<Share>` (see `royalty_pool::stake`) and register it.
13
16
  * Callers fund the pool by handing it a `Balance<Currency>` via `deposit`; the
14
17
  * accumulator advances and claims pay out the per-stake proportional share since
15
18
  * each stake's last claim.
16
19
  *
17
- * `receive_and_deposit` and `redeem_and_deposit` exist as recovery valves for
18
- * funds that land directly at the pool's address — either pending `Coin<Currency>`
19
- * transfers or balances credited to the pool's funds-accumulator. Both are
20
- * permissionless: anyone who notices stuck funds can fold them in. The canonical
21
- * funding path remains `deposit(balance)` from a higher-layer extension (e.g.
22
- * `composition_royalty_distributor`) that pulls from the parent's address. Note
23
- * the recovery valves run through `deposit`, which aborts while no shares are
24
- * staked and the pool has no other withdrawal path — so funds sent to the pool's
25
- * address before the first registration stay locked until a stake registers.
26
- * Payers should always target the parent's address, never the pool's.
20
+ * The pool is funded two ways, both committing the funds to share holders:
21
+ *
22
+ * - `deposit(balance)` from any caller holding `&mut` on the pool — e.g.
23
+ * `routed_stake::sweep`, which deposits a wrapped stake's claimed rewards into
24
+ * its parent's pool.
25
+ * - Delivery to the pool's derived address — pending `Coin<Currency>` transfers or
26
+ * address-balance credits (e.g. `release_revenue_distributor` settles each
27
+ * track's split there). The address is a pure function of
28
+ * `(parent_id, Share, Currency)`, so senders need the pool neither shared nor
29
+ * even created yet; a later `new` claims exactly that ID — and can only be the
30
+ * correctly-typed, shared pool. `receive_and_deposit` and `redeem_and_deposit`
31
+ * fold such funds into the accumulator, permissionlessly: anyone can complete
32
+ * the delivery. Both run through `deposit`, which aborts while no shares are
33
+ * staked — and the pool has no other withdrawal path — so funds at the pool's
34
+ * address wait, locked, until the pool exists and a stake registers.
27
35
  *
28
36
  * ### No activation delay (deliberate)
29
37
  *
@@ -62,7 +70,7 @@ export declare const RoyaltyPool: MoveStruct<{
62
70
  */
63
71
  cumulative_deposits: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u128">;
64
72
  }, "@local-pkg/royalty_pool::pool::RoyaltyPool<phantom Share, phantom Currency>">;
65
- export declare const RoyaltyPoolKey: MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">], "@local-pkg/royalty_pool::pool::RoyaltyPoolKey<phantom Currency>">;
73
+ export declare const RoyaltyPoolKey: MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">], "@local-pkg/royalty_pool::pool::RoyaltyPoolKey<phantom Share, phantom Currency>">;
66
74
  export declare const RoyaltyPoolCreatedEvent: MoveStruct<{
67
75
  pool_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
68
76
  parent_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
@@ -100,9 +108,10 @@ export interface NewOptions {
100
108
  ];
101
109
  }
102
110
  /**
103
- * Construct a pool as a derived object of `parent`. The derivation key includes
104
- * only the `Currency` `TypeName`, so the pool's address is determined entirely by
105
- * `(parent_id, Currency)`.
111
+ * Construct a pool as a derived object of `parent`. The derivation key encodes
112
+ * both type parameters, so the pool's address is determined entirely by
113
+ * `(parent_id, Share, Currency)` — and therefore always names a pool of exactly
114
+ * this type (see `RoyaltyPoolKey`).
106
115
  *
107
116
  * Cap-gating happens at the parent: callers must obtain `&mut UID` via whatever
108
117
  * cap-gated accessor the parent exposes.
@@ -355,6 +364,7 @@ export interface DerivedAddressOptions {
355
364
  parentId: RawTransactionArgument<string>
356
365
  ];
357
366
  typeArguments: [
367
+ string,
358
368
  string
359
369
  ];
360
370
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/contracts/royalty_pool/pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/contracts/royalty_pool/pool.ts"],"names":[],"mappings":"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"}
@@ -5,25 +5,33 @@
5
5
  * Accumulator-based royalty distribution pool for the protocol's share tokens.
6
6
  *
7
7
  * A `RoyaltyPool<Share, Currency>` is a derived object of any UID-bearing parent.
8
- * Its address is deterministically derived from `(parent_id, Currency)` — at most
9
- * one pool per `(parent, Currency)` pair. The `Share` phantom identifies which
10
- * share-token type can stake against the pool.
8
+ * Its address is deterministically derived from `(parent_id, Share, Currency)` —
9
+ * at most one pool per triple, and the pool at that address is necessarily typed
10
+ * `RoyaltyPool<Share, Currency>` (the same type parameters produce the address and
11
+ * the object) and necessarily shared (the pool is key-only; `share` is its only
12
+ * consumer). The `Share` phantom identifies which share-token type can stake
13
+ * against the pool.
11
14
  *
12
15
  * Holders create a `Stake<Share>` (see `royalty_pool::stake`) and register it.
13
16
  * Callers fund the pool by handing it a `Balance<Currency>` via `deposit`; the
14
17
  * accumulator advances and claims pay out the per-stake proportional share since
15
18
  * each stake's last claim.
16
19
  *
17
- * `receive_and_deposit` and `redeem_and_deposit` exist as recovery valves for
18
- * funds that land directly at the pool's address — either pending `Coin<Currency>`
19
- * transfers or balances credited to the pool's funds-accumulator. Both are
20
- * permissionless: anyone who notices stuck funds can fold them in. The canonical
21
- * funding path remains `deposit(balance)` from a higher-layer extension (e.g.
22
- * `composition_royalty_distributor`) that pulls from the parent's address. Note
23
- * the recovery valves run through `deposit`, which aborts while no shares are
24
- * staked and the pool has no other withdrawal path — so funds sent to the pool's
25
- * address before the first registration stay locked until a stake registers.
26
- * Payers should always target the parent's address, never the pool's.
20
+ * The pool is funded two ways, both committing the funds to share holders:
21
+ *
22
+ * - `deposit(balance)` from any caller holding `&mut` on the pool — e.g.
23
+ * `routed_stake::sweep`, which deposits a wrapped stake's claimed rewards into
24
+ * its parent's pool.
25
+ * - Delivery to the pool's derived address — pending `Coin<Currency>` transfers or
26
+ * address-balance credits (e.g. `release_revenue_distributor` settles each
27
+ * track's split there). The address is a pure function of
28
+ * `(parent_id, Share, Currency)`, so senders need the pool neither shared nor
29
+ * even created yet; a later `new` claims exactly that ID — and can only be the
30
+ * correctly-typed, shared pool. `receive_and_deposit` and `redeem_and_deposit`
31
+ * fold such funds into the accumulator, permissionlessly: anyone can complete
32
+ * the delivery. Both run through `deposit`, which aborts while no shares are
33
+ * staked — and the pool has no other withdrawal path — so funds at the pool's
34
+ * address wait, locked, until the pool exists and a stake registers.
27
35
  *
28
36
  * ### No activation delay (deliberate)
29
37
  *
@@ -63,7 +71,7 @@ export const RoyaltyPool = new MoveStruct({ name: `${$moduleName}::RoyaltyPool<p
63
71
  */
64
72
  cumulative_deposits: bcs.u128()
65
73
  } });
66
- export const RoyaltyPoolKey = new MoveTuple({ name: `${$moduleName}::RoyaltyPoolKey<phantom Currency>`, fields: [bcs.bool()] });
74
+ export const RoyaltyPoolKey = new MoveTuple({ name: `${$moduleName}::RoyaltyPoolKey<phantom Share, phantom Currency>`, fields: [bcs.bool()] });
67
75
  export const RoyaltyPoolCreatedEvent = new MoveStruct({ name: `${$moduleName}::RoyaltyPoolCreatedEvent<phantom Share, phantom Currency>`, fields: {
68
76
  pool_id: bcs.Address,
69
77
  parent_id: bcs.Address
@@ -88,9 +96,10 @@ export const RoyaltyClaimedEvent = new MoveStruct({ name: `${$moduleName}::Royal
88
96
  reward_amount: bcs.u64()
89
97
  } });
90
98
  /**
91
- * Construct a pool as a derived object of `parent`. The derivation key includes
92
- * only the `Currency` `TypeName`, so the pool's address is determined entirely by
93
- * `(parent_id, Currency)`.
99
+ * Construct a pool as a derived object of `parent`. The derivation key encodes
100
+ * both type parameters, so the pool's address is determined entirely by
101
+ * `(parent_id, Share, Currency)` — and therefore always names a pool of exactly
102
+ * this type (see `RoyaltyPoolKey`).
94
103
  *
95
104
  * Cap-gating happens at the parent: callers must obtain `&mut UID` via whatever
96
105
  * cap-gated accessor the parent exposes.
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/contracts/royalty_pool/pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/contracts/royalty_pool/pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ /**
5
+ * A bag is a heterogeneous map-like collection. The collection is similar to
6
+ * `sui::table` in that its keys and values are not stored within the `Bag` value,
7
+ * but instead are stored using Sui's object system. The `Bag` struct acts only as
8
+ * a handle into the object system to retrieve those keys and values. Note that
9
+ * this means that `Bag` values with exactly the same key-value mapping will not be
10
+ * equal, with `==`, at runtime. For example
11
+ *
12
+ * ```
13
+ * let bag1 = bag::new();
14
+ * let bag2 = bag::new();
15
+ * bag::add(&mut bag1, 0, false);
16
+ * bag::add(&mut bag1, 1, true);
17
+ * bag::add(&mut bag2, 0, false);
18
+ * bag::add(&mut bag2, 1, true);
19
+ * // bag1 does not equal bag2, despite having the same entries
20
+ * assert!(&bag1 != &bag2);
21
+ * ```
22
+ *
23
+ * At it's core, `sui::bag` is a wrapper around `UID` that allows for access to
24
+ * `sui::dynamic_field` while preventing accidentally stranding field values. A
25
+ * `UID` can be deleted, even if it has dynamic fields associated with it, but a
26
+ * bag, on the other hand, must be empty to be destroyed.
27
+ */
28
+ import { MoveStruct } from '../../../utils/index.js';
29
+ export declare const Bag: MoveStruct<{
30
+ /** the ID of this bag */
31
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
32
+ /** the number of key-value pairs in the bag */
33
+ size: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
34
+ }, "0x2::bag::Bag">;
35
+ //# sourceMappingURL=bag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bag.d.ts","sourceRoot":"","sources":["../../../../../src/contracts/vault/deps/sui/bag.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,eAAO,MAAM,GAAG;IACR,yBAAyB;;IAEzB,+CAA+C;;mBAE/C,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ /**
5
+ * A bag is a heterogeneous map-like collection. The collection is similar to
6
+ * `sui::table` in that its keys and values are not stored within the `Bag` value,
7
+ * but instead are stored using Sui's object system. The `Bag` struct acts only as
8
+ * a handle into the object system to retrieve those keys and values. Note that
9
+ * this means that `Bag` values with exactly the same key-value mapping will not be
10
+ * equal, with `==`, at runtime. For example
11
+ *
12
+ * ```
13
+ * let bag1 = bag::new();
14
+ * let bag2 = bag::new();
15
+ * bag::add(&mut bag1, 0, false);
16
+ * bag::add(&mut bag1, 1, true);
17
+ * bag::add(&mut bag2, 0, false);
18
+ * bag::add(&mut bag2, 1, true);
19
+ * // bag1 does not equal bag2, despite having the same entries
20
+ * assert!(&bag1 != &bag2);
21
+ * ```
22
+ *
23
+ * At it's core, `sui::bag` is a wrapper around `UID` that allows for access to
24
+ * `sui::dynamic_field` while preventing accidentally stranding field values. A
25
+ * `UID` can be deleted, even if it has dynamic fields associated with it, but a
26
+ * bag, on the other hand, must be empty to be destroyed.
27
+ */
28
+ import { MoveStruct } from '../../../utils/index.js';
29
+ import { bcs } from '@mysten/sui/bcs';
30
+ const $moduleName = '0x2::bag';
31
+ export const Bag = new MoveStruct({ name: `${$moduleName}::Bag`, fields: {
32
+ /** the ID of this bag */
33
+ id: bcs.Address,
34
+ /** the number of key-value pairs in the bag */
35
+ size: bcs.u64()
36
+ } });
37
+ //# sourceMappingURL=bag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bag.js","sourceRoot":"","sources":["../../../../../src/contracts/vault/deps/sui/bag.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,OAAO,EAAE,MAAM,EAAE;QACjE,yBAAyB;QACzB,EAAE,EAAE,GAAG,CAAC,OAAO;QACf,+CAA+C;QAC/C,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE;KAClB,EAAE,CAAC,CAAC"}