@mysten/kiosk 0.14.6 → 1.0.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 (267) hide show
  1. package/CHANGELOG.md +114 -2
  2. package/dist/client/kiosk-client.d.mts +126 -0
  3. package/dist/client/kiosk-client.d.mts.map +1 -0
  4. package/dist/client/kiosk-client.mjs +124 -0
  5. package/dist/client/kiosk-client.mjs.map +1 -0
  6. package/dist/client/kiosk-transaction.d.mts +236 -0
  7. package/dist/client/kiosk-transaction.d.mts.map +1 -0
  8. package/dist/client/kiosk-transaction.mjs +472 -0
  9. package/dist/client/kiosk-transaction.mjs.map +1 -0
  10. package/dist/client/tp-transaction.d.mts +139 -0
  11. package/dist/client/tp-transaction.d.mts.map +1 -0
  12. package/dist/client/tp-transaction.mjs +273 -0
  13. package/dist/client/tp-transaction.mjs.map +1 -0
  14. package/dist/constants.d.mts +42 -0
  15. package/dist/constants.d.mts.map +1 -0
  16. package/dist/constants.mjs +62 -0
  17. package/dist/constants.mjs.map +1 -0
  18. package/dist/contracts/0x2/bag.mjs +19 -0
  19. package/dist/contracts/0x2/bag.mjs.map +1 -0
  20. package/dist/contracts/0x2/balance.mjs +20 -0
  21. package/dist/contracts/0x2/balance.mjs.map +1 -0
  22. package/dist/contracts/0x2/deps/0x0000000000000000000000000000000000000000000000000000000000000001/type_name.mjs +16 -0
  23. package/dist/contracts/0x2/deps/0x0000000000000000000000000000000000000000000000000000000000000001/type_name.mjs.map +1 -0
  24. package/dist/contracts/0x2/kiosk.mjs +244 -0
  25. package/dist/contracts/0x2/kiosk.mjs.map +1 -0
  26. package/dist/contracts/0x2/kiosk_extension.mjs +25 -0
  27. package/dist/contracts/0x2/kiosk_extension.mjs.map +1 -0
  28. package/dist/contracts/0x2/transfer_policy.mjs +99 -0
  29. package/dist/contracts/0x2/transfer_policy.mjs.map +1 -0
  30. package/dist/contracts/0x2/vec_set.mjs +18 -0
  31. package/dist/contracts/0x2/vec_set.mjs.map +1 -0
  32. package/dist/contracts/kiosk/deps/sui/kiosk.mjs +98 -0
  33. package/dist/contracts/kiosk/deps/sui/kiosk.mjs.map +1 -0
  34. package/dist/contracts/kiosk/floor_price_rule.mjs +70 -0
  35. package/dist/contracts/kiosk/floor_price_rule.mjs.map +1 -0
  36. package/dist/contracts/kiosk/kiosk_lock_rule.mjs +72 -0
  37. package/dist/contracts/kiosk/kiosk_lock_rule.mjs.map +1 -0
  38. package/dist/contracts/kiosk/personal_kiosk.mjs +102 -0
  39. package/dist/contracts/kiosk/personal_kiosk.mjs.map +1 -0
  40. package/dist/contracts/kiosk/personal_kiosk_rule.mjs +66 -0
  41. package/dist/contracts/kiosk/personal_kiosk_rule.mjs.map +1 -0
  42. package/dist/contracts/kiosk/royalty_rule.mjs +115 -0
  43. package/dist/contracts/kiosk/royalty_rule.mjs.map +1 -0
  44. package/dist/contracts/utils/index.mjs +118 -0
  45. package/dist/contracts/utils/index.mjs.map +1 -0
  46. package/dist/index.d.mts +9 -0
  47. package/dist/index.mjs +9 -0
  48. package/dist/query/client-utils.mjs +30 -0
  49. package/dist/query/client-utils.mjs.map +1 -0
  50. package/dist/query/kiosk.mjs +154 -0
  51. package/dist/query/kiosk.mjs.map +1 -0
  52. package/dist/query/transfer-policy.mjs +110 -0
  53. package/dist/query/transfer-policy.mjs.map +1 -0
  54. package/dist/tx/kiosk.mjs +20 -0
  55. package/dist/tx/kiosk.mjs.map +1 -0
  56. package/dist/tx/rules/resolve.mjs +114 -0
  57. package/dist/tx/rules/resolve.mjs.map +1 -0
  58. package/dist/tx/transfer-policy.mjs +38 -0
  59. package/dist/tx/transfer-policy.mjs.map +1 -0
  60. package/dist/types/index.d.mts +23 -0
  61. package/dist/types/index.d.mts.map +1 -0
  62. package/dist/types/kiosk.d.mts +165 -0
  63. package/dist/types/kiosk.d.mts.map +1 -0
  64. package/dist/types/kiosk.mjs +21 -0
  65. package/dist/types/kiosk.mjs.map +1 -0
  66. package/dist/types/transfer-policy.d.mts +56 -0
  67. package/dist/types/transfer-policy.d.mts.map +1 -0
  68. package/dist/types/transfer-policy.mjs +19 -0
  69. package/dist/types/transfer-policy.mjs.map +1 -0
  70. package/dist/utils.d.mts +45 -0
  71. package/dist/utils.d.mts.map +1 -0
  72. package/dist/utils.mjs +156 -0
  73. package/dist/utils.mjs.map +1 -0
  74. package/package.json +31 -20
  75. package/src/client/kiosk-client.ts +42 -5
  76. package/src/client/kiosk-transaction.ts +144 -65
  77. package/src/client/tp-transaction.ts +149 -95
  78. package/src/constants.ts +19 -24
  79. package/src/contracts/0x2/accumulator.ts +24 -0
  80. package/src/contracts/0x2/accumulator_metadata.ts +38 -0
  81. package/src/contracts/0x2/accumulator_settlement.ts +14 -0
  82. package/src/contracts/0x2/address.ts +145 -0
  83. package/src/contracts/0x2/address_alias.ts +92 -0
  84. package/src/contracts/0x2/authenticator_state.ts +44 -0
  85. package/src/contracts/0x2/bag.ts +192 -0
  86. package/src/contracts/0x2/balance.ts +269 -0
  87. package/src/contracts/0x2/bcs.ts +495 -0
  88. package/src/contracts/0x2/bls12381.ts +717 -0
  89. package/src/contracts/0x2/borrow.ts +99 -0
  90. package/src/contracts/0x2/clock.ts +30 -0
  91. package/src/contracts/0x2/coin.ts +977 -0
  92. package/src/contracts/0x2/coin_registry.ts +874 -0
  93. package/src/contracts/0x2/config.ts +30 -0
  94. package/src/contracts/0x2/deny_list.ts +55 -0
  95. package/src/contracts/0x2/deps/0x0000000000000000000000000000000000000000000000000000000000000001/type_name.ts +12 -0
  96. package/src/contracts/0x2/derived_object.ts +95 -0
  97. package/src/contracts/0x2/display.ts +258 -0
  98. package/src/contracts/0x2/dynamic_field.ts +171 -0
  99. package/src/contracts/0x2/dynamic_object_field.ts +167 -0
  100. package/src/contracts/0x2/ecdsa_k1.ts +65 -0
  101. package/src/contracts/0x2/ecdsa_r1.ts +49 -0
  102. package/src/contracts/0x2/ecvrf.ts +29 -0
  103. package/src/contracts/0x2/ed25519.ts +25 -0
  104. package/src/contracts/0x2/event.ts +42 -0
  105. package/src/contracts/0x2/funds_accumulator.ts +86 -0
  106. package/src/contracts/0x2/groth16.ts +171 -0
  107. package/src/contracts/0x2/group_ops.ts +49 -0
  108. package/src/contracts/0x2/hash.ts +37 -0
  109. package/src/contracts/0x2/hex.ts +37 -0
  110. package/src/contracts/0x2/hmac.ts +21 -0
  111. package/src/contracts/0x2/kiosk.ts +797 -0
  112. package/src/contracts/0x2/kiosk_extension.ts +270 -0
  113. package/src/contracts/0x2/linked_table.ts +354 -0
  114. package/src/contracts/0x2/math.ts +117 -0
  115. package/src/contracts/0x2/nitro_attestation.ts +186 -0
  116. package/src/contracts/0x2/object.ts +249 -0
  117. package/src/contracts/0x2/object_bag.ts +210 -0
  118. package/src/contracts/0x2/object_table.ts +200 -0
  119. package/src/contracts/0x2/package.ts +414 -0
  120. package/src/contracts/0x2/party.ts +37 -0
  121. package/src/contracts/0x2/pay.ts +153 -0
  122. package/src/contracts/0x2/poseidon.ts +21 -0
  123. package/src/contracts/0x2/priority_queue.ts +139 -0
  124. package/src/contracts/0x2/random.ts +294 -0
  125. package/src/contracts/0x2/sui.ts +29 -0
  126. package/src/contracts/0x2/table.ts +200 -0
  127. package/src/contracts/0x2/table_vec.ts +232 -0
  128. package/src/contracts/0x2/token.ts +873 -0
  129. package/src/contracts/0x2/transfer.ts +216 -0
  130. package/src/contracts/0x2/transfer_policy.ts +400 -0
  131. package/src/contracts/0x2/tx_context.ts +129 -0
  132. package/src/contracts/0x2/types.ts +24 -0
  133. package/src/contracts/0x2/url.ts +77 -0
  134. package/src/contracts/0x2/vdf.ts +45 -0
  135. package/src/contracts/0x2/vec_map.ts +401 -0
  136. package/src/contracts/0x2/vec_set.ts +211 -0
  137. package/src/contracts/0x2/versioned.ts +153 -0
  138. package/src/contracts/0x2/zklogin_verified_id.ts +172 -0
  139. package/src/contracts/0x2/zklogin_verified_issuer.ts +99 -0
  140. package/src/contracts/kiosk/deps/sui/kiosk.ts +94 -0
  141. package/src/contracts/kiosk/deps/sui/object.ts +15 -0
  142. package/src/contracts/kiosk/floor_price_rule.ts +92 -0
  143. package/src/contracts/kiosk/kiosk_lock_rule.ts +97 -0
  144. package/src/contracts/kiosk/personal_kiosk.ts +295 -0
  145. package/src/contracts/kiosk/personal_kiosk_rule.ts +89 -0
  146. package/src/contracts/kiosk/royalty_rule.ts +144 -0
  147. package/src/contracts/kiosk/witness_rule.ts +92 -0
  148. package/src/contracts/utils/index.ts +234 -0
  149. package/src/query/client-utils.ts +51 -0
  150. package/src/query/kiosk.ts +128 -100
  151. package/src/query/transfer-policy.ts +112 -78
  152. package/src/tx/kiosk.ts +7 -231
  153. package/src/tx/rules/resolve.ts +97 -48
  154. package/src/tx/transfer-policy.ts +25 -86
  155. package/src/types/index.ts +3 -14
  156. package/src/types/kiosk.ts +10 -12
  157. package/src/types/transfer-policy.ts +4 -4
  158. package/src/utils.ts +90 -128
  159. package/dist/cjs/bcs.d.ts +0 -23
  160. package/dist/cjs/bcs.js +0 -50
  161. package/dist/cjs/bcs.js.map +0 -7
  162. package/dist/cjs/client/kiosk-client.d.ts +0 -76
  163. package/dist/cjs/client/kiosk-client.js +0 -123
  164. package/dist/cjs/client/kiosk-client.js.map +0 -7
  165. package/dist/cjs/client/kiosk-transaction.d.ts +0 -186
  166. package/dist/cjs/client/kiosk-transaction.js +0 -462
  167. package/dist/cjs/client/kiosk-transaction.js.map +0 -7
  168. package/dist/cjs/client/tp-transaction.d.ts +0 -114
  169. package/dist/cjs/client/tp-transaction.js +0 -307
  170. package/dist/cjs/client/tp-transaction.js.map +0 -7
  171. package/dist/cjs/constants.d.ts +0 -31
  172. package/dist/cjs/constants.js +0 -102
  173. package/dist/cjs/constants.js.map +0 -7
  174. package/dist/cjs/index.d.ts +0 -6
  175. package/dist/cjs/index.js +0 -24
  176. package/dist/cjs/index.js.map +0 -7
  177. package/dist/cjs/package.json +0 -5
  178. package/dist/cjs/query/kiosk.d.ts +0 -8
  179. package/dist/cjs/query/kiosk.js +0 -181
  180. package/dist/cjs/query/kiosk.js.map +0 -7
  181. package/dist/cjs/query/transfer-policy.d.ts +0 -29
  182. package/dist/cjs/query/transfer-policy.js +0 -92
  183. package/dist/cjs/query/transfer-policy.js.map +0 -7
  184. package/dist/cjs/tx/kiosk.d.ts +0 -71
  185. package/dist/cjs/tx/kiosk.js +0 -130
  186. package/dist/cjs/tx/kiosk.js.map +0 -7
  187. package/dist/cjs/tx/personal-kiosk.d.ts +0 -7
  188. package/dist/cjs/tx/personal-kiosk.js +0 -38
  189. package/dist/cjs/tx/personal-kiosk.js.map +0 -7
  190. package/dist/cjs/tx/rules/attach.d.ts +0 -7
  191. package/dist/cjs/tx/rules/attach.js +0 -62
  192. package/dist/cjs/tx/rules/attach.js.map +0 -7
  193. package/dist/cjs/tx/rules/resolve.d.ts +0 -15
  194. package/dist/cjs/tx/rules/resolve.js +0 -109
  195. package/dist/cjs/tx/rules/resolve.js.map +0 -7
  196. package/dist/cjs/tx/transfer-policy.d.ts +0 -29
  197. package/dist/cjs/tx/transfer-policy.js +0 -78
  198. package/dist/cjs/tx/transfer-policy.js.map +0 -7
  199. package/dist/cjs/types/index.d.ts +0 -27
  200. package/dist/cjs/types/index.js +0 -33
  201. package/dist/cjs/types/index.js.map +0 -7
  202. package/dist/cjs/types/kiosk.d.ts +0 -160
  203. package/dist/cjs/types/kiosk.js +0 -37
  204. package/dist/cjs/types/kiosk.js.map +0 -7
  205. package/dist/cjs/types/transfer-policy.d.ts +0 -53
  206. package/dist/cjs/types/transfer-policy.js +0 -35
  207. package/dist/cjs/types/transfer-policy.js.map +0 -7
  208. package/dist/cjs/utils.d.ts +0 -51
  209. package/dist/cjs/utils.js +0 -198
  210. package/dist/cjs/utils.js.map +0 -7
  211. package/dist/esm/bcs.d.ts +0 -23
  212. package/dist/esm/bcs.js +0 -35
  213. package/dist/esm/bcs.js.map +0 -7
  214. package/dist/esm/client/kiosk-client.d.ts +0 -76
  215. package/dist/esm/client/kiosk-client.js +0 -114
  216. package/dist/esm/client/kiosk-client.js.map +0 -7
  217. package/dist/esm/client/kiosk-transaction.d.ts +0 -186
  218. package/dist/esm/client/kiosk-transaction.js +0 -432
  219. package/dist/esm/client/kiosk-transaction.js.map +0 -7
  220. package/dist/esm/client/tp-transaction.d.ts +0 -114
  221. package/dist/esm/client/tp-transaction.js +0 -298
  222. package/dist/esm/client/tp-transaction.js.map +0 -7
  223. package/dist/esm/constants.d.ts +0 -31
  224. package/dist/esm/constants.js +0 -87
  225. package/dist/esm/constants.js.map +0 -7
  226. package/dist/esm/index.d.ts +0 -6
  227. package/dist/esm/index.js +0 -7
  228. package/dist/esm/index.js.map +0 -7
  229. package/dist/esm/package.json +0 -5
  230. package/dist/esm/query/kiosk.d.ts +0 -8
  231. package/dist/esm/query/kiosk.js +0 -169
  232. package/dist/esm/query/kiosk.js.map +0 -7
  233. package/dist/esm/query/transfer-policy.d.ts +0 -29
  234. package/dist/esm/query/transfer-policy.js +0 -76
  235. package/dist/esm/query/transfer-policy.js.map +0 -7
  236. package/dist/esm/tx/kiosk.d.ts +0 -71
  237. package/dist/esm/tx/kiosk.js +0 -110
  238. package/dist/esm/tx/kiosk.js.map +0 -7
  239. package/dist/esm/tx/personal-kiosk.d.ts +0 -7
  240. package/dist/esm/tx/personal-kiosk.js +0 -18
  241. package/dist/esm/tx/personal-kiosk.js.map +0 -7
  242. package/dist/esm/tx/rules/attach.d.ts +0 -7
  243. package/dist/esm/tx/rules/attach.js +0 -42
  244. package/dist/esm/tx/rules/attach.js.map +0 -7
  245. package/dist/esm/tx/rules/resolve.d.ts +0 -15
  246. package/dist/esm/tx/rules/resolve.js +0 -89
  247. package/dist/esm/tx/rules/resolve.js.map +0 -7
  248. package/dist/esm/tx/transfer-policy.d.ts +0 -29
  249. package/dist/esm/tx/transfer-policy.js +0 -58
  250. package/dist/esm/tx/transfer-policy.js.map +0 -7
  251. package/dist/esm/types/index.d.ts +0 -27
  252. package/dist/esm/types/index.js +0 -12
  253. package/dist/esm/types/index.js.map +0 -7
  254. package/dist/esm/types/kiosk.d.ts +0 -160
  255. package/dist/esm/types/kiosk.js +0 -17
  256. package/dist/esm/types/kiosk.js.map +0 -7
  257. package/dist/esm/types/transfer-policy.d.ts +0 -53
  258. package/dist/esm/types/transfer-policy.js +0 -15
  259. package/dist/esm/types/transfer-policy.js.map +0 -7
  260. package/dist/esm/utils.d.ts +0 -51
  261. package/dist/esm/utils.js +0 -183
  262. package/dist/esm/utils.js.map +0 -7
  263. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  264. package/dist/tsconfig.tsbuildinfo +0 -1
  265. package/src/bcs.ts +0 -39
  266. package/src/tx/personal-kiosk.ts +0 -34
  267. package/src/tx/rules/attach.ts +0 -73
@@ -1,169 +0,0 @@
1
- import { isValidSuiAddress } from "@mysten/sui/utils";
2
- import { KIOSK_OWNER_CAP } from "../types/index.js";
3
- import {
4
- attachListingsAndPrices,
5
- attachLockedItems,
6
- attachObjects,
7
- extractKioskData,
8
- getAllDynamicFields,
9
- getAllObjects,
10
- getKioskObject
11
- } from "../utils.js";
12
- async function fetchKiosk(client, kioskId, pagination, options) {
13
- const data = await getAllDynamicFields(client, kioskId, pagination);
14
- const listings = [];
15
- const lockedItemIds = [];
16
- const kioskData = extractKioskData(data, listings, lockedItemIds, kioskId);
17
- const [kiosk, listingObjects, items] = await Promise.all([
18
- options.withKioskFields ? getKioskObject(client, kioskId) : Promise.resolve(void 0),
19
- options.withListingPrices ? getAllObjects(client, kioskData.listingIds, {
20
- showContent: true
21
- }) : Promise.resolve([]),
22
- options.withObjects ? getAllObjects(client, kioskData.itemIds, options.objectOptions || { showDisplay: true }) : Promise.resolve([])
23
- ]);
24
- if (options.withKioskFields) kioskData.kiosk = kiosk;
25
- attachListingsAndPrices(kioskData, listings, listingObjects);
26
- attachLockedItems(kioskData, lockedItemIds);
27
- attachObjects(
28
- kioskData,
29
- items.filter((x) => !!x.data).map((x) => x.data)
30
- );
31
- return {
32
- data: kioskData,
33
- nextCursor: null,
34
- hasNextPage: false
35
- };
36
- }
37
- const DEFAULT_PAGE_SIZE = 50;
38
- const PERSON_KIOSK_CURSOR = "personal";
39
- const OWNED_KIOSKS_CURSOR = "owned";
40
- async function getOwnedKiosks(client, address, options) {
41
- if (!isValidSuiAddress(address)) {
42
- return {
43
- nextCursor: null,
44
- hasNextPage: false,
45
- kioskOwnerCaps: [],
46
- kioskIds: []
47
- };
48
- }
49
- const limit = options?.pagination?.limit ?? DEFAULT_PAGE_SIZE;
50
- const [cursorType, cursor] = options?.pagination?.cursor?.split(":") ?? [
51
- PERSON_KIOSK_CURSOR,
52
- null
53
- ];
54
- if (options?.personalKioskType && cursorType === PERSON_KIOSK_CURSOR) {
55
- const personalKioskResponse = formatOwnedKioskResponse(
56
- await client.getOwnedObjects({
57
- owner: address,
58
- filter: {
59
- StructType: options.personalKioskType
60
- },
61
- options: {
62
- showContent: true,
63
- showType: true
64
- },
65
- cursor,
66
- limit
67
- }),
68
- PERSON_KIOSK_CURSOR
69
- );
70
- if (personalKioskResponse.hasNextPage) {
71
- return personalKioskResponse;
72
- }
73
- const remainingLimit = limit - personalKioskResponse.kioskOwnerCaps.length;
74
- if (remainingLimit < 1) {
75
- return {
76
- nextCursor: `${OWNED_KIOSKS_CURSOR}:`,
77
- hasNextPage: true,
78
- kioskOwnerCaps: personalKioskResponse.kioskOwnerCaps,
79
- kioskIds: personalKioskResponse.kioskIds
80
- };
81
- }
82
- const ownedKiosksResponse = formatOwnedKioskResponse(
83
- await client.getOwnedObjects({
84
- owner: address,
85
- filter: {
86
- StructType: KIOSK_OWNER_CAP
87
- },
88
- options: {
89
- showContent: true,
90
- showType: true
91
- },
92
- limit: remainingLimit
93
- }),
94
- OWNED_KIOSKS_CURSOR
95
- );
96
- return {
97
- nextCursor: ownedKiosksResponse.nextCursor,
98
- hasNextPage: ownedKiosksResponse.hasNextPage,
99
- kioskOwnerCaps: [
100
- ...personalKioskResponse.kioskOwnerCaps,
101
- ...ownedKiosksResponse.kioskOwnerCaps
102
- ],
103
- kioskIds: [...personalKioskResponse.kioskIds, ...ownedKiosksResponse.kioskIds]
104
- };
105
- }
106
- return formatOwnedKioskResponse(
107
- await client.getOwnedObjects({
108
- owner: address,
109
- filter: {
110
- StructType: KIOSK_OWNER_CAP
111
- },
112
- options: {
113
- showContent: true,
114
- showType: true
115
- },
116
- // cursor might be an empty string if the number of personal kiosks was a multiple of the limit.
117
- cursor: cursor ? cursor : null,
118
- limit
119
- }),
120
- OWNED_KIOSKS_CURSOR
121
- );
122
- }
123
- function formatOwnedKioskResponse(response, cursorType) {
124
- const { data, hasNextPage, nextCursor } = response;
125
- const kioskIdList = data?.map((x) => {
126
- const fields = x.data?.content?.dataType === "moveObject" ? x.data.content.fields : null;
127
- return fields?.cap ? fields?.cap?.fields?.for : fields?.for;
128
- });
129
- const filteredData = data.filter((x) => "data" in x).map((x) => x.data);
130
- return {
131
- nextCursor: nextCursor ? `${cursorType}:${nextCursor}` : nextCursor,
132
- hasNextPage,
133
- kioskOwnerCaps: filteredData.map((x, idx) => ({
134
- isPersonal: x.type !== KIOSK_OWNER_CAP,
135
- digest: x.digest,
136
- version: x.version,
137
- objectId: x.objectId,
138
- kioskId: kioskIdList[idx]
139
- })),
140
- kioskIds: kioskIdList
141
- };
142
- }
143
- async function fetchKioskExtension(client, kioskId, extensionType) {
144
- const extension = await client.getDynamicFieldObject({
145
- parentId: kioskId,
146
- name: {
147
- type: `0x2::kiosk_extension::ExtensionKey<${extensionType}>`,
148
- value: {
149
- dummy_field: false
150
- }
151
- }
152
- });
153
- if (!extension.data) return null;
154
- const fields = extension?.data?.content?.fields?.value?.fields;
155
- return {
156
- objectId: extension.data.objectId,
157
- type: extensionType,
158
- isEnabled: fields?.is_enabled,
159
- permissions: fields?.permissions,
160
- storageId: fields?.storage?.fields?.id?.id,
161
- storageSize: fields?.storage?.fields?.size
162
- };
163
- }
164
- export {
165
- fetchKiosk,
166
- fetchKioskExtension,
167
- getOwnedKiosks
168
- };
169
- //# sourceMappingURL=kiosk.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/query/kiosk.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tPaginatedObjectsResponse,\n\tPaginationArguments,\n\tSuiClient,\n\tSuiObjectData,\n\tSuiObjectResponse,\n} from '@mysten/sui/client';\nimport { isValidSuiAddress } from '@mysten/sui/utils';\n\nimport type {\n\tFetchKioskOptions,\n\tKioskExtension,\n\tKioskListing,\n\tOwnedKiosks,\n\tPagedKioskData,\n} from '../types/index.js';\nimport { KIOSK_OWNER_CAP } from '../types/index.js';\nimport {\n\tattachListingsAndPrices,\n\tattachLockedItems,\n\tattachObjects,\n\textractKioskData,\n\tgetAllDynamicFields,\n\tgetAllObjects,\n\tgetKioskObject,\n} from '../utils.js';\n\nexport async function fetchKiosk(\n\tclient: SuiClient,\n\tkioskId: string,\n\tpagination: PaginationArguments<string>,\n\toptions: FetchKioskOptions,\n): Promise<PagedKioskData> {\n\t// TODO: Replace the `getAllDynamicFields` with a paginated\n\t// response, once we have better RPC support for\n\t// type filtering & batch fetching.\n\t// This can't work with pagination currently.\n\tconst data = await getAllDynamicFields(client, kioskId, pagination);\n\n\tconst listings: KioskListing[] = [];\n\tconst lockedItemIds: string[] = [];\n\n\t// extracted kiosk data.\n\tconst kioskData = extractKioskData(data, listings, lockedItemIds, kioskId);\n\n\t// split the fetching in two queries as we are most likely passing different options for each kind.\n\t// For items, we usually seek the Display.\n\t// For listings we usually seek the DF value (price) / exclusivity.\n\tconst [kiosk, listingObjects, items] = await Promise.all([\n\t\toptions.withKioskFields ? getKioskObject(client, kioskId) : Promise.resolve(undefined),\n\t\toptions.withListingPrices\n\t\t\t? getAllObjects(client, kioskData.listingIds, {\n\t\t\t\t\tshowContent: true,\n\t\t\t\t})\n\t\t\t: Promise.resolve([]),\n\t\toptions.withObjects\n\t\t\t? getAllObjects(client, kioskData.itemIds, options.objectOptions || { showDisplay: true })\n\t\t\t: Promise.resolve([]),\n\t]);\n\n\tif (options.withKioskFields) kioskData.kiosk = kiosk;\n\t// attach items listings. IF we have `options.withListingPrices === true`, it will also attach the prices.\n\tattachListingsAndPrices(kioskData, listings, listingObjects);\n\t// add `locked` status to items that are locked.\n\tattachLockedItems(kioskData, lockedItemIds);\n\n\t// Attach the objects for the queried items.\n\tattachObjects(\n\t\tkioskData,\n\t\titems.filter((x) => !!x.data).map((x) => x.data!),\n\t);\n\n\treturn {\n\t\tdata: kioskData,\n\t\tnextCursor: null,\n\t\thasNextPage: false,\n\t};\n}\n\n/**\n * A function to fetch all the user's kiosk Caps\n * And a list of the kiosk address ids.\n * Returns a list of `kioskOwnerCapIds` and `kioskIds`.\n * Extra options allow pagination.\n */\n\nconst DEFAULT_PAGE_SIZE = 50;\nconst PERSON_KIOSK_CURSOR = 'personal';\nconst OWNED_KIOSKS_CURSOR = 'owned';\nexport async function getOwnedKiosks(\n\tclient: SuiClient,\n\taddress: string,\n\toptions?: {\n\t\tpagination?: PaginationArguments<string>;\n\t\tpersonalKioskType: string;\n\t},\n): Promise<OwnedKiosks> {\n\t// TODO: this should throw an error, but I am not going to change it right now incase it breaks existing code.\n\tif (!isValidSuiAddress(address)) {\n\t\treturn {\n\t\t\tnextCursor: null,\n\t\t\thasNextPage: false,\n\t\t\tkioskOwnerCaps: [],\n\t\t\tkioskIds: [],\n\t\t};\n\t}\n\n\tconst limit = options?.pagination?.limit ?? DEFAULT_PAGE_SIZE;\n\tconst [cursorType, cursor] = options?.pagination?.cursor?.split(':') ?? [\n\t\tPERSON_KIOSK_CURSOR,\n\t\tnull,\n\t];\n\n\tif (options?.personalKioskType && cursorType === PERSON_KIOSK_CURSOR) {\n\t\tconst personalKioskResponse = formatOwnedKioskResponse(\n\t\t\tawait client.getOwnedObjects({\n\t\t\t\towner: address,\n\t\t\t\tfilter: {\n\t\t\t\t\tStructType: options.personalKioskType,\n\t\t\t\t},\n\t\t\t\toptions: {\n\t\t\t\t\tshowContent: true,\n\t\t\t\t\tshowType: true,\n\t\t\t\t},\n\t\t\t\tcursor,\n\t\t\t\tlimit,\n\t\t\t}),\n\t\t\tPERSON_KIOSK_CURSOR,\n\t\t);\n\n\t\tif (personalKioskResponse.hasNextPage) {\n\t\t\treturn personalKioskResponse;\n\t\t}\n\n\t\tconst remainingLimit = limit - personalKioskResponse.kioskOwnerCaps.length;\n\n\t\t// If we have all personal kiosks, but don't have space for the owned kiosks\n\t\t// we need to start loading owned kiosks for the next page, but don't have a real cursor\n\t\tif (remainingLimit < 1) {\n\t\t\treturn {\n\t\t\t\tnextCursor: `${OWNED_KIOSKS_CURSOR}:`,\n\t\t\t\thasNextPage: true,\n\t\t\t\tkioskOwnerCaps: personalKioskResponse.kioskOwnerCaps,\n\t\t\t\tkioskIds: personalKioskResponse.kioskIds,\n\t\t\t};\n\t\t}\n\n\t\tconst ownedKiosksResponse = formatOwnedKioskResponse(\n\t\t\tawait client.getOwnedObjects({\n\t\t\t\towner: address,\n\t\t\t\tfilter: {\n\t\t\t\t\tStructType: KIOSK_OWNER_CAP,\n\t\t\t\t},\n\t\t\t\toptions: {\n\t\t\t\t\tshowContent: true,\n\t\t\t\t\tshowType: true,\n\t\t\t\t},\n\t\t\t\tlimit: remainingLimit,\n\t\t\t}),\n\t\t\tOWNED_KIOSKS_CURSOR,\n\t\t);\n\n\t\treturn {\n\t\t\tnextCursor: ownedKiosksResponse.nextCursor,\n\t\t\thasNextPage: ownedKiosksResponse.hasNextPage,\n\t\t\tkioskOwnerCaps: [\n\t\t\t\t...personalKioskResponse.kioskOwnerCaps,\n\t\t\t\t...ownedKiosksResponse.kioskOwnerCaps,\n\t\t\t],\n\t\t\tkioskIds: [...personalKioskResponse.kioskIds, ...ownedKiosksResponse.kioskIds],\n\t\t};\n\t}\n\n\treturn formatOwnedKioskResponse(\n\t\tawait client.getOwnedObjects({\n\t\t\towner: address,\n\t\t\tfilter: {\n\t\t\t\tStructType: KIOSK_OWNER_CAP,\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tshowContent: true,\n\t\t\t\tshowType: true,\n\t\t\t},\n\t\t\t// cursor might be an empty string if the number of personal kiosks was a multiple of the limit.\n\t\t\tcursor: cursor ? cursor : null,\n\t\t\tlimit,\n\t\t}),\n\t\tOWNED_KIOSKS_CURSOR,\n\t);\n}\n\nfunction formatOwnedKioskResponse(\n\tresponse: PaginatedObjectsResponse,\n\tcursorType: string,\n): OwnedKiosks {\n\tconst { data, hasNextPage, nextCursor } = response;\n\t// get kioskIds from the OwnerCaps.\n\tconst kioskIdList = data?.map((x: SuiObjectResponse) => {\n\t\tconst fields =\n\t\t\tx.data?.content?.dataType === 'moveObject'\n\t\t\t\t? (x.data.content.fields as unknown as\n\t\t\t\t\t\t| {\n\t\t\t\t\t\t\t\tcap: { fields: { for: string } };\n\t\t\t\t\t\t\t\tfor?: never;\n\t\t\t\t\t\t }\n\t\t\t\t\t\t| {\n\t\t\t\t\t\t\t\tcap?: never;\n\t\t\t\t\t\t\t\tfor: string;\n\t\t\t\t\t\t })\n\t\t\t\t: null;\n\t\treturn fields?.cap ? fields?.cap?.fields?.for : (fields?.for as string);\n\t});\n\n\t// clean up data that might have an error in them.\n\t// only return valid objects.\n\tconst filteredData = data.filter((x) => 'data' in x).map((x) => x.data) as SuiObjectData[];\n\n\treturn {\n\t\tnextCursor: nextCursor ? `${cursorType}:${nextCursor}` : nextCursor,\n\t\thasNextPage,\n\t\tkioskOwnerCaps: filteredData.map((x, idx) => ({\n\t\t\tisPersonal: x.type !== KIOSK_OWNER_CAP,\n\t\t\tdigest: x.digest,\n\t\t\tversion: x.version,\n\t\t\tobjectId: x.objectId,\n\t\t\tkioskId: kioskIdList[idx],\n\t\t})),\n\t\tkioskIds: kioskIdList,\n\t};\n}\n\n// Get a kiosk extension data for a given kioskId and extensionType.\nexport async function fetchKioskExtension(\n\tclient: SuiClient,\n\tkioskId: string,\n\textensionType: string,\n): Promise<KioskExtension | null> {\n\tconst extension = await client.getDynamicFieldObject({\n\t\tparentId: kioskId,\n\t\tname: {\n\t\t\ttype: `0x2::kiosk_extension::ExtensionKey<${extensionType}>`,\n\t\t\tvalue: {\n\t\t\t\tdummy_field: false,\n\t\t\t},\n\t\t},\n\t});\n\n\tif (!extension.data) return null;\n\n\tconst fields = (extension?.data?.content as { fields: { [k: string]: any } })?.fields?.value\n\t\t?.fields;\n\n\treturn {\n\t\tobjectId: extension.data.objectId,\n\t\ttype: extensionType,\n\t\tisEnabled: fields?.is_enabled,\n\t\tpermissions: fields?.permissions,\n\t\tstorageId: fields?.storage?.fields?.id?.id,\n\t\tstorageSize: fields?.storage?.fields?.size,\n\t};\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,29 +0,0 @@
1
- import type { SuiClient } from '@mysten/sui/client';
2
- import '../bcs.js';
3
- import type { TransferPolicy, TransferPolicyCap } from '../types/index.js';
4
- /**
5
- * Searches the `TransferPolicy`-s for the given type. The seach is performed via
6
- * the `TransferPolicyCreated` event. The policy can either be owned or shared,
7
- * and the caller needs to filter the results accordingly (ie single owner can not
8
- * be accessed by anyone but the owner).
9
- *
10
- * @param provider
11
- * @param type
12
- */
13
- export declare function queryTransferPolicy(client: SuiClient, type: string): Promise<TransferPolicy[]>;
14
- /**
15
- * A function to fetch all the user's kiosk Caps
16
- * And a list of the kiosk address ids.
17
- * Returns a list of `kioskOwnerCapIds` and `kioskIds`.
18
- * Extra options allow pagination.
19
- * @returns TransferPolicyCap Object ID | undefined if not found.
20
- */
21
- export declare function queryTransferPolicyCapsByType(client: SuiClient, address: string, type: string): Promise<TransferPolicyCap[]>;
22
- /**
23
- * A function to fetch all the user's kiosk Caps
24
- * And a list of the kiosk address ids.
25
- * Returns a list of `kioskOwnerCapIds` and `kioskIds`.
26
- * Extra options allow pagination.
27
- * @returns TransferPolicyCap Object ID | undefined if not found.
28
- */
29
- export declare function queryOwnedTransferPolicies(client: SuiClient, address: string): Promise<TransferPolicyCap[] | undefined>;
@@ -1,76 +0,0 @@
1
- import { fromBase64, isValidSuiAddress } from "@mysten/sui/utils";
2
- import "../bcs.js";
3
- import { TransferPolicyType } from "../bcs.js";
4
- import {
5
- TRANSFER_POLICY_CAP_TYPE,
6
- TRANSFER_POLICY_CREATED_EVENT,
7
- TRANSFER_POLICY_TYPE
8
- } from "../types/index.js";
9
- import { getAllOwnedObjects, parseTransferPolicyCapObject } from "../utils.js";
10
- async function queryTransferPolicy(client, type) {
11
- const { data } = await client.queryEvents({
12
- query: {
13
- MoveEventType: `${TRANSFER_POLICY_CREATED_EVENT}<${type}>`
14
- }
15
- });
16
- const search = data.map((event) => event.parsedJson);
17
- const policies = await client.multiGetObjects({
18
- ids: search.map((policy) => policy.id),
19
- options: { showBcs: true, showOwner: true }
20
- });
21
- return policies.filter((policy) => !!policy && "data" in policy).map(({ data: policy }) => {
22
- if (!policy || !policy.bcs || !("bcsBytes" in policy.bcs)) {
23
- throw new Error(`Invalid policy: ${policy?.objectId}, expected object, got package`);
24
- }
25
- const parsed = TransferPolicyType.parse(fromBase64(policy.bcs.bcsBytes));
26
- return {
27
- id: policy?.objectId,
28
- type: `${TRANSFER_POLICY_TYPE}<${type}>`,
29
- owner: policy?.owner,
30
- rules: parsed.rules,
31
- balance: parsed.balance
32
- };
33
- });
34
- }
35
- async function queryTransferPolicyCapsByType(client, address, type) {
36
- if (!isValidSuiAddress(address)) return [];
37
- const filter = {
38
- MatchAll: [
39
- {
40
- StructType: `${TRANSFER_POLICY_CAP_TYPE}<${type}>`
41
- }
42
- ]
43
- };
44
- const data = await getAllOwnedObjects({
45
- client,
46
- filter,
47
- owner: address
48
- });
49
- return data.map((item) => parseTransferPolicyCapObject(item)).filter((item) => !!item);
50
- }
51
- async function queryOwnedTransferPolicies(client, address) {
52
- if (!isValidSuiAddress(address)) return;
53
- const filter = {
54
- MatchAll: [
55
- {
56
- MoveModule: {
57
- module: "transfer_policy",
58
- package: "0x2"
59
- }
60
- }
61
- ]
62
- };
63
- const data = await getAllOwnedObjects({ client, owner: address, filter });
64
- const policies = [];
65
- for (const item of data) {
66
- const data2 = parseTransferPolicyCapObject(item);
67
- if (data2) policies.push(data2);
68
- }
69
- return policies;
70
- }
71
- export {
72
- queryOwnedTransferPolicies,
73
- queryTransferPolicy,
74
- queryTransferPolicyCapsByType
75
- };
76
- //# sourceMappingURL=transfer-policy.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/query/transfer-policy.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { SuiClient } from '@mysten/sui/client';\nimport { fromBase64, isValidSuiAddress } from '@mysten/sui/utils';\n\nimport '../bcs.js';\n\nimport { TransferPolicyType } from '../bcs.js';\nimport type { TransferPolicy, TransferPolicyCap } from '../types/index.js';\nimport {\n\tTRANSFER_POLICY_CAP_TYPE,\n\tTRANSFER_POLICY_CREATED_EVENT,\n\tTRANSFER_POLICY_TYPE,\n} from '../types/index.js';\nimport { getAllOwnedObjects, parseTransferPolicyCapObject } from '../utils.js';\n\n/**\n * Searches the `TransferPolicy`-s for the given type. The seach is performed via\n * the `TransferPolicyCreated` event. The policy can either be owned or shared,\n * and the caller needs to filter the results accordingly (ie single owner can not\n * be accessed by anyone but the owner).\n *\n * @param provider\n * @param type\n */\nexport async function queryTransferPolicy(\n\tclient: SuiClient,\n\ttype: string,\n): Promise<TransferPolicy[]> {\n\t// console.log('event type: %s', `${TRANSFER_POLICY_CREATED_EVENT}<${type}>`);\n\tconst { data } = await client.queryEvents({\n\t\tquery: {\n\t\t\tMoveEventType: `${TRANSFER_POLICY_CREATED_EVENT}<${type}>`,\n\t\t},\n\t});\n\n\tconst search = data.map((event) => event.parsedJson as { id: string });\n\tconst policies = await client.multiGetObjects({\n\t\tids: search.map((policy) => policy.id),\n\t\toptions: { showBcs: true, showOwner: true },\n\t});\n\n\treturn policies\n\t\t.filter((policy) => !!policy && 'data' in policy)\n\t\t.map(({ data: policy }) => {\n\t\t\t// should never happen; policies are objects and fetched via an event.\n\t\t\t// policies are filtered for null and undefined above.\n\t\t\tif (!policy || !policy.bcs || !('bcsBytes' in policy.bcs)) {\n\t\t\t\tthrow new Error(`Invalid policy: ${policy?.objectId}, expected object, got package`);\n\t\t\t}\n\n\t\t\tconst parsed = TransferPolicyType.parse(fromBase64(policy.bcs.bcsBytes));\n\n\t\t\treturn {\n\t\t\t\tid: policy?.objectId,\n\t\t\t\ttype: `${TRANSFER_POLICY_TYPE}<${type}>`,\n\t\t\t\towner: policy?.owner!,\n\t\t\t\trules: parsed.rules,\n\t\t\t\tbalance: parsed.balance,\n\t\t\t} as TransferPolicy;\n\t\t});\n}\n\n/**\n * A function to fetch all the user's kiosk Caps\n * And a list of the kiosk address ids.\n * Returns a list of `kioskOwnerCapIds` and `kioskIds`.\n * Extra options allow pagination.\n * @returns TransferPolicyCap Object ID | undefined if not found.\n */\nexport async function queryTransferPolicyCapsByType(\n\tclient: SuiClient,\n\taddress: string,\n\ttype: string,\n): Promise<TransferPolicyCap[]> {\n\tif (!isValidSuiAddress(address)) return [];\n\n\tconst filter = {\n\t\tMatchAll: [\n\t\t\t{\n\t\t\t\tStructType: `${TRANSFER_POLICY_CAP_TYPE}<${type}>`,\n\t\t\t},\n\t\t],\n\t};\n\n\t// fetch owned kiosk caps, paginated.\n\tconst data = await getAllOwnedObjects({\n\t\tclient,\n\t\tfilter,\n\t\towner: address,\n\t});\n\n\treturn data\n\t\t.map((item) => parseTransferPolicyCapObject(item))\n\t\t.filter((item) => !!item) as TransferPolicyCap[];\n}\n\n/**\n * A function to fetch all the user's kiosk Caps\n * And a list of the kiosk address ids.\n * Returns a list of `kioskOwnerCapIds` and `kioskIds`.\n * Extra options allow pagination.\n * @returns TransferPolicyCap Object ID | undefined if not found.\n */\nexport async function queryOwnedTransferPolicies(\n\tclient: SuiClient,\n\taddress: string,\n): Promise<TransferPolicyCap[] | undefined> {\n\tif (!isValidSuiAddress(address)) return;\n\n\tconst filter = {\n\t\tMatchAll: [\n\t\t\t{\n\t\t\t\tMoveModule: {\n\t\t\t\t\tmodule: 'transfer_policy',\n\t\t\t\t\tpackage: '0x2',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t};\n\n\t// fetch all owned kiosk caps, paginated.\n\tconst data = await getAllOwnedObjects({ client, owner: address, filter });\n\n\tconst policies: TransferPolicyCap[] = [];\n\n\tfor (const item of data) {\n\t\tconst data = parseTransferPolicyCapObject(item);\n\t\tif (data) policies.push(data);\n\t}\n\n\treturn policies;\n}\n"],
5
- "mappings": "AAIA,SAAS,YAAY,yBAAyB;AAE9C,OAAO;AAEP,SAAS,0BAA0B;AAEnC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,oBAAoB,oCAAoC;AAWjE,eAAsB,oBACrB,QACA,MAC4B;AAE5B,QAAM,EAAE,KAAK,IAAI,MAAM,OAAO,YAAY;AAAA,IACzC,OAAO;AAAA,MACN,eAAe,GAAG,6BAA6B,IAAI,IAAI;AAAA,IACxD;AAAA,EACD,CAAC;AAED,QAAM,SAAS,KAAK,IAAI,CAAC,UAAU,MAAM,UAA4B;AACrE,QAAM,WAAW,MAAM,OAAO,gBAAgB;AAAA,IAC7C,KAAK,OAAO,IAAI,CAAC,WAAW,OAAO,EAAE;AAAA,IACrC,SAAS,EAAE,SAAS,MAAM,WAAW,KAAK;AAAA,EAC3C,CAAC;AAED,SAAO,SACL,OAAO,CAAC,WAAW,CAAC,CAAC,UAAU,UAAU,MAAM,EAC/C,IAAI,CAAC,EAAE,MAAM,OAAO,MAAM;AAG1B,QAAI,CAAC,UAAU,CAAC,OAAO,OAAO,EAAE,cAAc,OAAO,MAAM;AAC1D,YAAM,IAAI,MAAM,mBAAmB,QAAQ,QAAQ,gCAAgC;AAAA,IACpF;AAEA,UAAM,SAAS,mBAAmB,MAAM,WAAW,OAAO,IAAI,QAAQ,CAAC;AAEvE,WAAO;AAAA,MACN,IAAI,QAAQ;AAAA,MACZ,MAAM,GAAG,oBAAoB,IAAI,IAAI;AAAA,MACrC,OAAO,QAAQ;AAAA,MACf,OAAO,OAAO;AAAA,MACd,SAAS,OAAO;AAAA,IACjB;AAAA,EACD,CAAC;AACH;AASA,eAAsB,8BACrB,QACA,SACA,MAC+B;AAC/B,MAAI,CAAC,kBAAkB,OAAO,EAAG,QAAO,CAAC;AAEzC,QAAM,SAAS;AAAA,IACd,UAAU;AAAA,MACT;AAAA,QACC,YAAY,GAAG,wBAAwB,IAAI,IAAI;AAAA,MAChD;AAAA,IACD;AAAA,EACD;AAGA,QAAM,OAAO,MAAM,mBAAmB;AAAA,IACrC;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EACR,CAAC;AAED,SAAO,KACL,IAAI,CAAC,SAAS,6BAA6B,IAAI,CAAC,EAChD,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI;AAC1B;AASA,eAAsB,2BACrB,QACA,SAC2C;AAC3C,MAAI,CAAC,kBAAkB,OAAO,EAAG;AAEjC,QAAM,SAAS;AAAA,IACd,UAAU;AAAA,MACT;AAAA,QACC,YAAY;AAAA,UACX,QAAQ;AAAA,UACR,SAAS;AAAA,QACV;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAGA,QAAM,OAAO,MAAM,mBAAmB,EAAE,QAAQ,OAAO,SAAS,OAAO,CAAC;AAExE,QAAM,WAAgC,CAAC;AAEvC,aAAW,QAAQ,MAAM;AACxB,UAAMA,QAAO,6BAA6B,IAAI;AAC9C,QAAIA,MAAM,UAAS,KAAKA,KAAI;AAAA,EAC7B;AAEA,SAAO;AACR;",
6
- "names": ["data"]
7
- }
@@ -1,71 +0,0 @@
1
- import type { Transaction, TransactionArgument, TransactionObjectArgument } from '@mysten/sui/transactions';
2
- import type { ObjectArgument } from '../types/index.js';
3
- /**
4
- * Create a new shared Kiosk and returns the [kiosk, kioskOwnerCap] tuple.
5
- */
6
- export declare function createKiosk(tx: Transaction): [TransactionObjectArgument, TransactionObjectArgument];
7
- /**
8
- * Calls the `kiosk::new()` function and shares the kiosk.
9
- * Returns the `kioskOwnerCap` object.
10
- */
11
- export declare function createKioskAndShare(tx: Transaction): TransactionObjectArgument;
12
- /**
13
- * Converts Transfer Policy to a shared object.
14
- */
15
- export declare function shareKiosk(tx: Transaction, kiosk: TransactionArgument): void;
16
- /**
17
- * Call the `kiosk::place<T>(Kiosk, KioskOwnerCap, Item)` function.
18
- * Place an item to the Kiosk.
19
- */
20
- export declare function place(tx: Transaction, itemType: string, kiosk: ObjectArgument, kioskCap: ObjectArgument, item: ObjectArgument): void;
21
- /**
22
- * Call the `kiosk::lock<T>(Kiosk, KioskOwnerCap, TransferPolicy, Item)`
23
- * function. Lock an item in the Kiosk.
24
- *
25
- * Unlike `place` this function requires a `TransferPolicy` to exist
26
- * and be passed in. This is done to make sure the item does not get
27
- * locked without an option to take it out.
28
- */
29
- export declare function lock(tx: Transaction, itemType: string, kiosk: ObjectArgument, kioskCap: ObjectArgument, policy: ObjectArgument, item: ObjectArgument): void;
30
- /**
31
- * Call the `kiosk::take<T>(Kiosk, KioskOwnerCap, ID)` function.
32
- * Take an item from the Kiosk.
33
- */
34
- export declare function take(tx: Transaction, itemType: string, kiosk: ObjectArgument, kioskCap: ObjectArgument, itemId: string): TransactionObjectArgument;
35
- /**
36
- * Call the `kiosk::list<T>(Kiosk, KioskOwnerCap, ID, u64)` function.
37
- * List an item for sale.
38
- */
39
- export declare function list(tx: Transaction, itemType: string, kiosk: ObjectArgument, kioskCap: ObjectArgument, itemId: string, price: string | bigint): void;
40
- /**
41
- * Call the `kiosk::list<T>(Kiosk, KioskOwnerCap, ID, u64)` function.
42
- * List an item for sale.
43
- */
44
- export declare function delist(tx: Transaction, itemType: string, kiosk: ObjectArgument, kioskCap: ObjectArgument, itemId: string): void;
45
- /**
46
- * Call the `kiosk::place_and_list<T>(Kiosk, KioskOwnerCap, Item, u64)` function.
47
- * Place an item to the Kiosk and list it for sale.
48
- */
49
- export declare function placeAndList(tx: Transaction, itemType: string, kiosk: ObjectArgument, kioskCap: ObjectArgument, item: ObjectArgument, price: string | bigint): void;
50
- /**
51
- * Call the `kiosk::purchase<T>(Kiosk, ID, Coin<SUI>)` function and receive an Item and
52
- * a TransferRequest which needs to be dealt with (via a matching TransferPolicy).
53
- */
54
- export declare function purchase(tx: Transaction, itemType: string, kiosk: ObjectArgument, itemId: string, payment: ObjectArgument): [TransactionObjectArgument, TransactionObjectArgument];
55
- /**
56
- * Call the `kiosk::withdraw(Kiosk, KioskOwnerCap, Option<u64>)` function and receive a Coin<SUI>.
57
- * If the amount is null, then the entire balance will be withdrawn.
58
- */
59
- export declare function withdrawFromKiosk(tx: Transaction, kiosk: ObjectArgument, kioskCap: ObjectArgument, amount?: string | bigint | number): TransactionObjectArgument;
60
- /**
61
- * Call the `kiosk::borrow_value<T>(Kiosk, KioskOwnerCap, ID): T` function.
62
- * Immutably borrow an item from the Kiosk and return it in the end.
63
- *
64
- * Requires calling `returnValue` to return the item.
65
- */
66
- export declare function borrowValue(tx: Transaction, itemType: string, kiosk: ObjectArgument, kioskCap: ObjectArgument, itemId: string): [TransactionArgument, TransactionArgument];
67
- /**
68
- * Call the `kiosk::return_value<T>(Kiosk, Item, Borrow)` function.
69
- * Return an item to the Kiosk after it was `borrowValue`-d.
70
- */
71
- export declare function returnValue(tx: Transaction, itemType: string, kiosk: ObjectArgument, item: TransactionArgument, promise: TransactionArgument): void;
@@ -1,110 +0,0 @@
1
- import { bcs } from "@mysten/sui/bcs";
2
- import { KIOSK_MODULE, KIOSK_TYPE } from "../types/index.js";
3
- function createKiosk(tx) {
4
- const [kiosk, kioskOwnerCap] = tx.moveCall({
5
- target: `${KIOSK_MODULE}::new`
6
- });
7
- return [kiosk, kioskOwnerCap];
8
- }
9
- function createKioskAndShare(tx) {
10
- const [kiosk, kioskOwnerCap] = createKiosk(tx);
11
- shareKiosk(tx, kiosk);
12
- return kioskOwnerCap;
13
- }
14
- function shareKiosk(tx, kiosk) {
15
- tx.moveCall({
16
- target: `0x2::transfer::public_share_object`,
17
- typeArguments: [KIOSK_TYPE],
18
- arguments: [kiosk]
19
- });
20
- }
21
- function place(tx, itemType, kiosk, kioskCap, item) {
22
- tx.moveCall({
23
- target: `${KIOSK_MODULE}::place`,
24
- typeArguments: [itemType],
25
- arguments: [tx.object(kiosk), tx.object(kioskCap), tx.object(item)]
26
- });
27
- }
28
- function lock(tx, itemType, kiosk, kioskCap, policy, item) {
29
- tx.moveCall({
30
- target: `${KIOSK_MODULE}::lock`,
31
- typeArguments: [itemType],
32
- arguments: [tx.object(kiosk), tx.object(kioskCap), tx.object(policy), tx.object(item)]
33
- });
34
- }
35
- function take(tx, itemType, kiosk, kioskCap, itemId) {
36
- const [item] = tx.moveCall({
37
- target: `${KIOSK_MODULE}::take`,
38
- typeArguments: [itemType],
39
- arguments: [tx.object(kiosk), tx.object(kioskCap), tx.pure.id(itemId)]
40
- });
41
- return item;
42
- }
43
- function list(tx, itemType, kiosk, kioskCap, itemId, price) {
44
- tx.moveCall({
45
- target: `${KIOSK_MODULE}::list`,
46
- typeArguments: [itemType],
47
- arguments: [tx.object(kiosk), tx.object(kioskCap), tx.pure.id(itemId), tx.pure.u64(price)]
48
- });
49
- }
50
- function delist(tx, itemType, kiosk, kioskCap, itemId) {
51
- tx.moveCall({
52
- target: `${KIOSK_MODULE}::delist`,
53
- typeArguments: [itemType],
54
- arguments: [tx.object(kiosk), tx.object(kioskCap), tx.pure.id(itemId)]
55
- });
56
- }
57
- function placeAndList(tx, itemType, kiosk, kioskCap, item, price) {
58
- tx.moveCall({
59
- target: `${KIOSK_MODULE}::place_and_list`,
60
- typeArguments: [itemType],
61
- arguments: [tx.object(kiosk), tx.object(kioskCap), tx.object(item), tx.pure.u64(price)]
62
- });
63
- }
64
- function purchase(tx, itemType, kiosk, itemId, payment) {
65
- const [item, transferRequest] = tx.moveCall({
66
- target: `${KIOSK_MODULE}::purchase`,
67
- typeArguments: [itemType],
68
- arguments: [tx.object(kiosk), tx.pure.id(itemId), tx.object(payment)]
69
- });
70
- return [item, transferRequest];
71
- }
72
- function withdrawFromKiosk(tx, kiosk, kioskCap, amount) {
73
- const amountArg = bcs.option(bcs.u64()).serialize(amount);
74
- const [coin] = tx.moveCall({
75
- target: `${KIOSK_MODULE}::withdraw`,
76
- arguments: [tx.object(kiosk), tx.object(kioskCap), amountArg]
77
- });
78
- return coin;
79
- }
80
- function borrowValue(tx, itemType, kiosk, kioskCap, itemId) {
81
- const [item, promise] = tx.moveCall({
82
- target: `${KIOSK_MODULE}::borrow_val`,
83
- typeArguments: [itemType],
84
- arguments: [tx.object(kiosk), tx.object(kioskCap), tx.pure.id(itemId)]
85
- });
86
- return [item, promise];
87
- }
88
- function returnValue(tx, itemType, kiosk, item, promise) {
89
- tx.moveCall({
90
- target: `${KIOSK_MODULE}::return_val`,
91
- typeArguments: [itemType],
92
- arguments: [tx.object(kiosk), item, promise]
93
- });
94
- }
95
- export {
96
- borrowValue,
97
- createKiosk,
98
- createKioskAndShare,
99
- delist,
100
- list,
101
- lock,
102
- place,
103
- placeAndList,
104
- purchase,
105
- returnValue,
106
- shareKiosk,
107
- take,
108
- withdrawFromKiosk
109
- };
110
- //# sourceMappingURL=kiosk.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/tx/kiosk.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/sui/bcs';\nimport type {\n\tTransaction,\n\tTransactionArgument,\n\tTransactionObjectArgument,\n} from '@mysten/sui/transactions';\n\nimport type { ObjectArgument } from '../types/index.js';\nimport { KIOSK_MODULE, KIOSK_TYPE } from '../types/index.js';\n\n/**\n * Create a new shared Kiosk and returns the [kiosk, kioskOwnerCap] tuple.\n */\nexport function createKiosk(\n\ttx: Transaction,\n): [TransactionObjectArgument, TransactionObjectArgument] {\n\tconst [kiosk, kioskOwnerCap] = tx.moveCall({\n\t\ttarget: `${KIOSK_MODULE}::new`,\n\t});\n\n\treturn [kiosk, kioskOwnerCap];\n}\n\n/**\n * Calls the `kiosk::new()` function and shares the kiosk.\n * Returns the `kioskOwnerCap` object.\n */\nexport function createKioskAndShare(tx: Transaction): TransactionObjectArgument {\n\tconst [kiosk, kioskOwnerCap] = createKiosk(tx);\n\tshareKiosk(tx, kiosk);\n\treturn kioskOwnerCap;\n}\n\n/**\n * Converts Transfer Policy to a shared object.\n */\nexport function shareKiosk(tx: Transaction, kiosk: TransactionArgument) {\n\ttx.moveCall({\n\t\ttarget: `0x2::transfer::public_share_object`,\n\t\ttypeArguments: [KIOSK_TYPE],\n\t\targuments: [kiosk],\n\t});\n}\n\n/**\n * Call the `kiosk::place<T>(Kiosk, KioskOwnerCap, Item)` function.\n * Place an item to the Kiosk.\n */\nexport function place(\n\ttx: Transaction,\n\titemType: string,\n\tkiosk: ObjectArgument,\n\tkioskCap: ObjectArgument,\n\titem: ObjectArgument,\n): void {\n\ttx.moveCall({\n\t\ttarget: `${KIOSK_MODULE}::place`,\n\t\ttypeArguments: [itemType],\n\t\targuments: [tx.object(kiosk), tx.object(kioskCap), tx.object(item)],\n\t});\n}\n\n/**\n * Call the `kiosk::lock<T>(Kiosk, KioskOwnerCap, TransferPolicy, Item)`\n * function. Lock an item in the Kiosk.\n *\n * Unlike `place` this function requires a `TransferPolicy` to exist\n * and be passed in. This is done to make sure the item does not get\n * locked without an option to take it out.\n */\nexport function lock(\n\ttx: Transaction,\n\titemType: string,\n\tkiosk: ObjectArgument,\n\tkioskCap: ObjectArgument,\n\tpolicy: ObjectArgument,\n\titem: ObjectArgument,\n): void {\n\ttx.moveCall({\n\t\ttarget: `${KIOSK_MODULE}::lock`,\n\t\ttypeArguments: [itemType],\n\t\targuments: [tx.object(kiosk), tx.object(kioskCap), tx.object(policy), tx.object(item)],\n\t});\n}\n\n/**\n * Call the `kiosk::take<T>(Kiosk, KioskOwnerCap, ID)` function.\n * Take an item from the Kiosk.\n */\nexport function take(\n\ttx: Transaction,\n\titemType: string,\n\tkiosk: ObjectArgument,\n\tkioskCap: ObjectArgument,\n\titemId: string,\n): TransactionObjectArgument {\n\tconst [item] = tx.moveCall({\n\t\ttarget: `${KIOSK_MODULE}::take`,\n\t\ttypeArguments: [itemType],\n\t\targuments: [tx.object(kiosk), tx.object(kioskCap), tx.pure.id(itemId)],\n\t});\n\n\treturn item;\n}\n\n/**\n * Call the `kiosk::list<T>(Kiosk, KioskOwnerCap, ID, u64)` function.\n * List an item for sale.\n */\nexport function list(\n\ttx: Transaction,\n\titemType: string,\n\tkiosk: ObjectArgument,\n\tkioskCap: ObjectArgument,\n\titemId: string,\n\tprice: string | bigint,\n): void {\n\ttx.moveCall({\n\t\ttarget: `${KIOSK_MODULE}::list`,\n\t\ttypeArguments: [itemType],\n\t\targuments: [tx.object(kiosk), tx.object(kioskCap), tx.pure.id(itemId), tx.pure.u64(price)],\n\t});\n}\n\n/**\n * Call the `kiosk::list<T>(Kiosk, KioskOwnerCap, ID, u64)` function.\n * List an item for sale.\n */\nexport function delist(\n\ttx: Transaction,\n\titemType: string,\n\tkiosk: ObjectArgument,\n\tkioskCap: ObjectArgument,\n\titemId: string,\n): void {\n\ttx.moveCall({\n\t\ttarget: `${KIOSK_MODULE}::delist`,\n\t\ttypeArguments: [itemType],\n\t\targuments: [tx.object(kiosk), tx.object(kioskCap), tx.pure.id(itemId)],\n\t});\n}\n\n/**\n * Call the `kiosk::place_and_list<T>(Kiosk, KioskOwnerCap, Item, u64)` function.\n * Place an item to the Kiosk and list it for sale.\n */\nexport function placeAndList(\n\ttx: Transaction,\n\titemType: string,\n\tkiosk: ObjectArgument,\n\tkioskCap: ObjectArgument,\n\titem: ObjectArgument,\n\tprice: string | bigint,\n): void {\n\ttx.moveCall({\n\t\ttarget: `${KIOSK_MODULE}::place_and_list`,\n\t\ttypeArguments: [itemType],\n\t\targuments: [tx.object(kiosk), tx.object(kioskCap), tx.object(item), tx.pure.u64(price)],\n\t});\n}\n\n/**\n * Call the `kiosk::purchase<T>(Kiosk, ID, Coin<SUI>)` function and receive an Item and\n * a TransferRequest which needs to be dealt with (via a matching TransferPolicy).\n */\nexport function purchase(\n\ttx: Transaction,\n\titemType: string,\n\tkiosk: ObjectArgument,\n\titemId: string,\n\tpayment: ObjectArgument,\n): [TransactionObjectArgument, TransactionObjectArgument] {\n\tconst [item, transferRequest] = tx.moveCall({\n\t\ttarget: `${KIOSK_MODULE}::purchase`,\n\t\ttypeArguments: [itemType],\n\t\targuments: [tx.object(kiosk), tx.pure.id(itemId), tx.object(payment)],\n\t});\n\n\treturn [item, transferRequest];\n}\n\n/**\n * Call the `kiosk::withdraw(Kiosk, KioskOwnerCap, Option<u64>)` function and receive a Coin<SUI>.\n * If the amount is null, then the entire balance will be withdrawn.\n */\nexport function withdrawFromKiosk(\n\ttx: Transaction,\n\tkiosk: ObjectArgument,\n\tkioskCap: ObjectArgument,\n\tamount?: string | bigint | number,\n): TransactionObjectArgument {\n\tconst amountArg = bcs.option(bcs.u64()).serialize(amount);\n\n\tconst [coin] = tx.moveCall({\n\t\ttarget: `${KIOSK_MODULE}::withdraw`,\n\t\targuments: [tx.object(kiosk), tx.object(kioskCap), amountArg],\n\t});\n\n\treturn coin;\n}\n\n/**\n * Call the `kiosk::borrow_value<T>(Kiosk, KioskOwnerCap, ID): T` function.\n * Immutably borrow an item from the Kiosk and return it in the end.\n *\n * Requires calling `returnValue` to return the item.\n */\nexport function borrowValue(\n\ttx: Transaction,\n\titemType: string,\n\tkiosk: ObjectArgument,\n\tkioskCap: ObjectArgument,\n\titemId: string,\n): [TransactionArgument, TransactionArgument] {\n\tconst [item, promise] = tx.moveCall({\n\t\ttarget: `${KIOSK_MODULE}::borrow_val`,\n\t\ttypeArguments: [itemType],\n\t\targuments: [tx.object(kiosk), tx.object(kioskCap), tx.pure.id(itemId)],\n\t});\n\n\treturn [item, promise];\n}\n\n/**\n * Call the `kiosk::return_value<T>(Kiosk, Item, Borrow)` function.\n * Return an item to the Kiosk after it was `borrowValue`-d.\n */\nexport function returnValue(\n\ttx: Transaction,\n\titemType: string,\n\tkiosk: ObjectArgument,\n\titem: TransactionArgument,\n\tpromise: TransactionArgument,\n): void {\n\ttx.moveCall({\n\t\ttarget: `${KIOSK_MODULE}::return_val`,\n\t\ttypeArguments: [itemType],\n\t\targuments: [tx.object(kiosk), item, promise],\n\t});\n}\n"],
5
- "mappings": "AAGA,SAAS,WAAW;AAQpB,SAAS,cAAc,kBAAkB;AAKlC,SAAS,YACf,IACyD;AACzD,QAAM,CAAC,OAAO,aAAa,IAAI,GAAG,SAAS;AAAA,IAC1C,QAAQ,GAAG,YAAY;AAAA,EACxB,CAAC;AAED,SAAO,CAAC,OAAO,aAAa;AAC7B;AAMO,SAAS,oBAAoB,IAA4C;AAC/E,QAAM,CAAC,OAAO,aAAa,IAAI,YAAY,EAAE;AAC7C,aAAW,IAAI,KAAK;AACpB,SAAO;AACR;AAKO,SAAS,WAAW,IAAiB,OAA4B;AACvE,KAAG,SAAS;AAAA,IACX,QAAQ;AAAA,IACR,eAAe,CAAC,UAAU;AAAA,IAC1B,WAAW,CAAC,KAAK;AAAA,EAClB,CAAC;AACF;AAMO,SAAS,MACf,IACA,UACA,OACA,UACA,MACO;AACP,KAAG,SAAS;AAAA,IACX,QAAQ,GAAG,YAAY;AAAA,IACvB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,GAAG,OAAO,KAAK,GAAG,GAAG,OAAO,QAAQ,GAAG,GAAG,OAAO,IAAI,CAAC;AAAA,EACnE,CAAC;AACF;AAUO,SAAS,KACf,IACA,UACA,OACA,UACA,QACA,MACO;AACP,KAAG,SAAS;AAAA,IACX,QAAQ,GAAG,YAAY;AAAA,IACvB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,GAAG,OAAO,KAAK,GAAG,GAAG,OAAO,QAAQ,GAAG,GAAG,OAAO,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC;AAAA,EACtF,CAAC;AACF;AAMO,SAAS,KACf,IACA,UACA,OACA,UACA,QAC4B;AAC5B,QAAM,CAAC,IAAI,IAAI,GAAG,SAAS;AAAA,IAC1B,QAAQ,GAAG,YAAY;AAAA,IACvB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,GAAG,OAAO,KAAK,GAAG,GAAG,OAAO,QAAQ,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;AAAA,EACtE,CAAC;AAED,SAAO;AACR;AAMO,SAAS,KACf,IACA,UACA,OACA,UACA,QACA,OACO;AACP,KAAG,SAAS;AAAA,IACX,QAAQ,GAAG,YAAY;AAAA,IACvB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,GAAG,OAAO,KAAK,GAAG,GAAG,OAAO,QAAQ,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC;AAAA,EAC1F,CAAC;AACF;AAMO,SAAS,OACf,IACA,UACA,OACA,UACA,QACO;AACP,KAAG,SAAS;AAAA,IACX,QAAQ,GAAG,YAAY;AAAA,IACvB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,GAAG,OAAO,KAAK,GAAG,GAAG,OAAO,QAAQ,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;AAAA,EACtE,CAAC;AACF;AAMO,SAAS,aACf,IACA,UACA,OACA,UACA,MACA,OACO;AACP,KAAG,SAAS;AAAA,IACX,QAAQ,GAAG,YAAY;AAAA,IACvB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,GAAG,OAAO,KAAK,GAAG,GAAG,OAAO,QAAQ,GAAG,GAAG,OAAO,IAAI,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC;AAAA,EACvF,CAAC;AACF;AAMO,SAAS,SACf,IACA,UACA,OACA,QACA,SACyD;AACzD,QAAM,CAAC,MAAM,eAAe,IAAI,GAAG,SAAS;AAAA,IAC3C,QAAQ,GAAG,YAAY;AAAA,IACvB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,GAAG,OAAO,KAAK,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC;AAAA,EACrE,CAAC;AAED,SAAO,CAAC,MAAM,eAAe;AAC9B;AAMO,SAAS,kBACf,IACA,OACA,UACA,QAC4B;AAC5B,QAAM,YAAY,IAAI,OAAO,IAAI,IAAI,CAAC,EAAE,UAAU,MAAM;AAExD,QAAM,CAAC,IAAI,IAAI,GAAG,SAAS;AAAA,IAC1B,QAAQ,GAAG,YAAY;AAAA,IACvB,WAAW,CAAC,GAAG,OAAO,KAAK,GAAG,GAAG,OAAO,QAAQ,GAAG,SAAS;AAAA,EAC7D,CAAC;AAED,SAAO;AACR;AAQO,SAAS,YACf,IACA,UACA,OACA,UACA,QAC6C;AAC7C,QAAM,CAAC,MAAM,OAAO,IAAI,GAAG,SAAS;AAAA,IACnC,QAAQ,GAAG,YAAY;AAAA,IACvB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,GAAG,OAAO,KAAK,GAAG,GAAG,OAAO,QAAQ,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;AAAA,EACtE,CAAC;AAED,SAAO,CAAC,MAAM,OAAO;AACtB;AAMO,SAAS,YACf,IACA,UACA,OACA,MACA,SACO;AACP,KAAG,SAAS;AAAA,IACX,QAAQ,GAAG,YAAY;AAAA,IACvB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,GAAG,OAAO,KAAK,GAAG,MAAM,OAAO;AAAA,EAC5C,CAAC;AACF;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- import type { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions';
2
- import type { ObjectArgument } from '../types/index.js';
3
- export declare function convertToPersonalTx(tx: Transaction, kiosk: ObjectArgument, kioskOwnerCap: ObjectArgument, packageId: string): TransactionObjectArgument;
4
- /**
5
- * Transfers the personal kiosk Cap to the sender.
6
- */
7
- export declare function transferPersonalCapTx(tx: Transaction, personalKioskCap: TransactionObjectArgument, packageId: string): void;
@@ -1,18 +0,0 @@
1
- function convertToPersonalTx(tx, kiosk, kioskOwnerCap, packageId) {
2
- const personalKioskCap = tx.moveCall({
3
- target: `${packageId}::personal_kiosk::new`,
4
- arguments: [tx.object(kiosk), tx.object(kioskOwnerCap)]
5
- });
6
- return personalKioskCap;
7
- }
8
- function transferPersonalCapTx(tx, personalKioskCap, packageId) {
9
- tx.moveCall({
10
- target: `${packageId}::personal_kiosk::transfer_to_sender`,
11
- arguments: [personalKioskCap]
12
- });
13
- }
14
- export {
15
- convertToPersonalTx,
16
- transferPersonalCapTx
17
- };
18
- //# sourceMappingURL=personal-kiosk.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/tx/personal-kiosk.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions';\n\nimport type { ObjectArgument } from '../types/index.js';\n\nexport function convertToPersonalTx(\n\ttx: Transaction,\n\tkiosk: ObjectArgument,\n\tkioskOwnerCap: ObjectArgument,\n\tpackageId: string,\n): TransactionObjectArgument {\n\tconst personalKioskCap = tx.moveCall({\n\t\ttarget: `${packageId}::personal_kiosk::new`,\n\t\targuments: [tx.object(kiosk), tx.object(kioskOwnerCap)],\n\t});\n\n\treturn personalKioskCap;\n}\n\n/**\n * Transfers the personal kiosk Cap to the sender.\n */\nexport function transferPersonalCapTx(\n\ttx: Transaction,\n\tpersonalKioskCap: TransactionObjectArgument,\n\tpackageId: string,\n) {\n\ttx.moveCall({\n\t\ttarget: `${packageId}::personal_kiosk::transfer_to_sender`,\n\t\targuments: [personalKioskCap],\n\t});\n}\n"],
5
- "mappings": "AAOO,SAAS,oBACf,IACA,OACA,eACA,WAC4B;AAC5B,QAAM,mBAAmB,GAAG,SAAS;AAAA,IACpC,QAAQ,GAAG,SAAS;AAAA,IACpB,WAAW,CAAC,GAAG,OAAO,KAAK,GAAG,GAAG,OAAO,aAAa,CAAC;AAAA,EACvD,CAAC;AAED,SAAO;AACR;AAKO,SAAS,sBACf,IACA,kBACA,WACC;AACD,KAAG,SAAS;AAAA,IACX,QAAQ,GAAG,SAAS;AAAA,IACpB,WAAW,CAAC,gBAAgB;AAAA,EAC7B,CAAC;AACF;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- import type { Transaction } from '@mysten/sui/transactions';
2
- import type { ObjectArgument } from '../../types/index.js';
3
- export declare function attachKioskLockRuleTx(tx: Transaction, type: string, policy: ObjectArgument, policyCap: ObjectArgument, packageId: string): void;
4
- export declare function attachRoyaltyRuleTx(tx: Transaction, type: string, policy: ObjectArgument, policyCap: ObjectArgument, percentageBps: number | string, // this is in basis points.
5
- minAmount: number | string, packageId: string): void;
6
- export declare function attachPersonalKioskRuleTx(tx: Transaction, type: string, policy: ObjectArgument, policyCap: ObjectArgument, packageId: string): void;
7
- export declare function attachFloorPriceRuleTx(tx: Transaction, type: string, policy: ObjectArgument, policyCap: ObjectArgument, minPrice: string | bigint, packageId: string): void;
@@ -1,42 +0,0 @@
1
- function attachKioskLockRuleTx(tx, type, policy, policyCap, packageId) {
2
- tx.moveCall({
3
- target: `${packageId}::kiosk_lock_rule::add`,
4
- typeArguments: [type],
5
- arguments: [tx.object(policy), tx.object(policyCap)]
6
- });
7
- }
8
- function attachRoyaltyRuleTx(tx, type, policy, policyCap, percentageBps, minAmount, packageId) {
9
- if (Number(percentageBps) < 0 || Number(percentageBps) > 1e4)
10
- throw new Error("Invalid basis point percentage. Use a value between [0,10000].");
11
- tx.moveCall({
12
- target: `${packageId}::royalty_rule::add`,
13
- typeArguments: [type],
14
- arguments: [
15
- tx.object(policy),
16
- tx.object(policyCap),
17
- tx.pure.u16(Number(percentageBps)),
18
- tx.pure.u64(minAmount)
19
- ]
20
- });
21
- }
22
- function attachPersonalKioskRuleTx(tx, type, policy, policyCap, packageId) {
23
- tx.moveCall({
24
- target: `${packageId}::personal_kiosk_rule::add`,
25
- typeArguments: [type],
26
- arguments: [tx.object(policy), tx.object(policyCap)]
27
- });
28
- }
29
- function attachFloorPriceRuleTx(tx, type, policy, policyCap, minPrice, packageId) {
30
- tx.moveCall({
31
- target: `${packageId}::floor_price_rule::add`,
32
- typeArguments: [type],
33
- arguments: [tx.object(policy), tx.object(policyCap), tx.pure.u64(minPrice)]
34
- });
35
- }
36
- export {
37
- attachFloorPriceRuleTx,
38
- attachKioskLockRuleTx,
39
- attachPersonalKioskRuleTx,
40
- attachRoyaltyRuleTx
41
- };
42
- //# sourceMappingURL=attach.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/tx/rules/attach.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Transaction } from '@mysten/sui/transactions';\n\nimport type { ObjectArgument } from '../../types/index.js';\n\nexport function attachKioskLockRuleTx(\n\ttx: Transaction,\n\ttype: string,\n\tpolicy: ObjectArgument,\n\tpolicyCap: ObjectArgument,\n\tpackageId: string,\n) {\n\ttx.moveCall({\n\t\ttarget: `${packageId}::kiosk_lock_rule::add`,\n\t\ttypeArguments: [type],\n\t\targuments: [tx.object(policy), tx.object(policyCap)],\n\t});\n}\n\nexport function attachRoyaltyRuleTx(\n\ttx: Transaction,\n\ttype: string,\n\tpolicy: ObjectArgument,\n\tpolicyCap: ObjectArgument,\n\tpercentageBps: number | string, // this is in basis points.\n\tminAmount: number | string,\n\tpackageId: string,\n) {\n\tif (Number(percentageBps) < 0 || Number(percentageBps) > 10_000)\n\t\tthrow new Error('Invalid basis point percentage. Use a value between [0,10000].');\n\n\ttx.moveCall({\n\t\ttarget: `${packageId}::royalty_rule::add`,\n\t\ttypeArguments: [type],\n\t\targuments: [\n\t\t\ttx.object(policy),\n\t\t\ttx.object(policyCap),\n\t\t\ttx.pure.u16(Number(percentageBps)),\n\t\t\ttx.pure.u64(minAmount),\n\t\t],\n\t});\n}\n\nexport function attachPersonalKioskRuleTx(\n\ttx: Transaction,\n\ttype: string,\n\tpolicy: ObjectArgument,\n\tpolicyCap: ObjectArgument,\n\tpackageId: string,\n) {\n\ttx.moveCall({\n\t\ttarget: `${packageId}::personal_kiosk_rule::add`,\n\t\ttypeArguments: [type],\n\t\targuments: [tx.object(policy), tx.object(policyCap)],\n\t});\n}\n\nexport function attachFloorPriceRuleTx(\n\ttx: Transaction,\n\ttype: string,\n\tpolicy: ObjectArgument,\n\tpolicyCap: ObjectArgument,\n\tminPrice: string | bigint,\n\tpackageId: string,\n) {\n\ttx.moveCall({\n\t\ttarget: `${packageId}::floor_price_rule::add`,\n\t\ttypeArguments: [type],\n\t\targuments: [tx.object(policy), tx.object(policyCap), tx.pure.u64(minPrice)],\n\t});\n}\n"],
5
- "mappings": "AAOO,SAAS,sBACf,IACA,MACA,QACA,WACA,WACC;AACD,KAAG,SAAS;AAAA,IACX,QAAQ,GAAG,SAAS;AAAA,IACpB,eAAe,CAAC,IAAI;AAAA,IACpB,WAAW,CAAC,GAAG,OAAO,MAAM,GAAG,GAAG,OAAO,SAAS,CAAC;AAAA,EACpD,CAAC;AACF;AAEO,SAAS,oBACf,IACA,MACA,QACA,WACA,eACA,WACA,WACC;AACD,MAAI,OAAO,aAAa,IAAI,KAAK,OAAO,aAAa,IAAI;AACxD,UAAM,IAAI,MAAM,gEAAgE;AAEjF,KAAG,SAAS;AAAA,IACX,QAAQ,GAAG,SAAS;AAAA,IACpB,eAAe,CAAC,IAAI;AAAA,IACpB,WAAW;AAAA,MACV,GAAG,OAAO,MAAM;AAAA,MAChB,GAAG,OAAO,SAAS;AAAA,MACnB,GAAG,KAAK,IAAI,OAAO,aAAa,CAAC;AAAA,MACjC,GAAG,KAAK,IAAI,SAAS;AAAA,IACtB;AAAA,EACD,CAAC;AACF;AAEO,SAAS,0BACf,IACA,MACA,QACA,WACA,WACC;AACD,KAAG,SAAS;AAAA,IACX,QAAQ,GAAG,SAAS;AAAA,IACpB,eAAe,CAAC,IAAI;AAAA,IACpB,WAAW,CAAC,GAAG,OAAO,MAAM,GAAG,GAAG,OAAO,SAAS,CAAC;AAAA,EACpD,CAAC;AACF;AAEO,SAAS,uBACf,IACA,MACA,QACA,WACA,UACA,WACC;AACD,KAAG,SAAS;AAAA,IACX,QAAQ,GAAG,SAAS;AAAA,IACpB,eAAe,CAAC,IAAI;AAAA,IACpB,WAAW,CAAC,GAAG,OAAO,MAAM,GAAG,GAAG,OAAO,SAAS,GAAG,GAAG,KAAK,IAAI,QAAQ,CAAC;AAAA,EAC3E,CAAC;AACF;",
6
- "names": []
7
- }
@@ -1,15 +0,0 @@
1
- import type { RuleResolvingParams } from '../../types/index.js';
2
- /**
3
- * A helper to resolve the royalty rule.
4
- */
5
- export declare function resolveRoyaltyRule(params: RuleResolvingParams): Promise<void>;
6
- export declare function resolveKioskLockRule(params: RuleResolvingParams): void;
7
- /**
8
- * A helper to resolve the personalKioskRule.
9
- * @param params
10
- */
11
- export declare function resolvePersonalKioskRule(params: RuleResolvingParams): void;
12
- /**
13
- * Resolves the floor price rule.
14
- */
15
- export declare function resolveFloorPriceRule(params: RuleResolvingParams): void;