@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,7 +1,8 @@
1
1
  // Copyright (c) Mysten Labs, Inc.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
- import type { PaginationArguments, SuiClient } from '@mysten/sui/client';
4
+ import type { PaginationArguments } from '@mysten/sui/jsonRpc';
5
+ import type { ClientWithCoreApi, SuiClientTypes } from '@mysten/sui/client';
5
6
 
6
7
  import {
7
8
  FLOOR_PRICE_RULE_ADDRESS,
@@ -18,7 +19,6 @@ import {
18
19
  queryTransferPolicy,
19
20
  queryTransferPolicyCapsByType,
20
21
  } from '../query/transfer-policy.js';
21
- import { Network } from '../types/index.js';
22
22
  import type {
23
23
  FetchKioskOptions,
24
24
  KioskClientOptions,
@@ -26,6 +26,43 @@ import type {
26
26
  OwnedKiosks,
27
27
  } from '../types/index.js';
28
28
 
29
+ export type KioskExtensionOptions<Name extends string = 'kiosk'> = {
30
+ name?: Name;
31
+ packageIds?: BaseRulePackageIds;
32
+ };
33
+
34
+ /**
35
+ * Creates a kiosk client extension that can be used with `client.$extend()`.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * import { SuiJsonRpcClient } from '@mysten/sui/jsonRpc';
40
+ * import { kiosk } from '@mysten/kiosk';
41
+ *
42
+ * const client = new SuiJsonRpcClient({
43
+ * url: getJsonRpcFullnodeUrl('mainnet'),
44
+ * network: 'mainnet',
45
+ * }).$extend(kiosk());
46
+ *
47
+ * const ownedKiosks = await client.kiosk.getOwnedKiosks({ address: '0x...' });
48
+ * ```
49
+ */
50
+ export function kiosk<const Name extends string = 'kiosk'>({
51
+ name = 'kiosk' as Name,
52
+ packageIds,
53
+ }: KioskExtensionOptions<Name> = {}) {
54
+ return {
55
+ name,
56
+ register: (client: ClientWithCoreApi) => {
57
+ return new KioskClient({
58
+ client,
59
+ network: client.network,
60
+ packageIds,
61
+ });
62
+ },
63
+ };
64
+ }
65
+
29
66
  /**
30
67
  * A Client that allows you to interact with kiosk.
31
68
  * Offers utilities to query kiosk, craft transactions to edit your own kiosk,
@@ -33,8 +70,8 @@ import type {
33
70
  * If you pass packageIds, all functionality will be managed using these packages.
34
71
  */
35
72
  export class KioskClient {
36
- client: SuiClient;
37
- network: Network;
73
+ client: ClientWithCoreApi;
74
+ network: SuiClientTypes.Network;
38
75
  rules: TransferPolicyRule[];
39
76
  packageIds?: BaseRulePackageIds;
40
77
 
@@ -145,7 +182,7 @@ export class KioskClient {
145
182
 
146
183
  /// Check existence of rule based on network and throw an error if it's not found.
147
184
  /// We always have a fallback for testnet or mainnet.
148
- if (!rules[rule] && network !== Network.MAINNET && network !== Network.TESTNET) {
185
+ if (!rules[rule] && network !== 'mainnet' && network !== 'testnet') {
149
186
  throw new Error(`Missing packageId for rule ${rule}`);
150
187
  }
151
188
 
@@ -7,9 +7,10 @@ import type {
7
7
  TransactionObjectArgument,
8
8
  } from '@mysten/sui/transactions';
9
9
 
10
- import * as kioskTx from '../tx/kiosk.js';
11
- import { convertToPersonalTx, transferPersonalCapTx } from '../tx/personal-kiosk.js';
12
- import { confirmRequest } from '../tx/transfer-policy.js';
10
+ import * as kioskContract from '../contracts/0x2/kiosk.js';
11
+ import * as transferPolicyContract from '../contracts/0x2/transfer_policy.js';
12
+ import * as personalKioskContract from '../contracts/kiosk/personal_kiosk.js';
13
+ import { createKioskAndShare } from '../tx/kiosk.js';
13
14
  import type {
14
15
  ItemId,
15
16
  ItemReference,
@@ -26,8 +27,6 @@ export type KioskTransactionParams = {
26
27
  /** The Transaction for this run */
27
28
  transaction: Transaction;
28
29
 
29
- /** @deprecated use transaction instead */
30
- transactionBlock?: Transaction;
31
30
  /**
32
31
  * You can create a new KioskClient by calling `new KioskClient()`
33
32
  */
@@ -59,12 +58,7 @@ export class KioskTransaction {
59
58
  // A flag that checks whether kiosk TX is finalized.
60
59
  #finalized: boolean = false;
61
60
 
62
- constructor({
63
- transactionBlock,
64
- transaction = transactionBlock!,
65
- kioskClient,
66
- cap,
67
- }: KioskTransactionParams) {
61
+ constructor({ transaction, kioskClient, cap }: KioskTransactionParams) {
68
62
  this.transaction = transaction;
69
63
  this.kioskClient = kioskClient;
70
64
 
@@ -82,7 +76,7 @@ export class KioskTransaction {
82
76
  share: true,
83
77
  transfer: true,
84
78
  });
85
- const [kiosk, cap] = kioskTx.createKiosk(this.transaction);
79
+ const [kiosk, cap] = this.transaction.add(kioskContract._new({}));
86
80
  this.kiosk = kiosk;
87
81
  this.kioskCap = cap;
88
82
  return this;
@@ -105,11 +99,16 @@ export class KioskTransaction {
105
99
  convertToPersonal(borrow?: boolean) {
106
100
  this.#validateKioskIsSet();
107
101
 
108
- const cap = convertToPersonalTx(
109
- this.transaction,
110
- this.kiosk!,
111
- this.kioskCap!,
112
- this.kioskClient.getRulePackageId('personalKioskRulePackageId'),
102
+ const packageId = this.kioskClient.getRulePackageId('personalKioskRulePackageId');
103
+
104
+ const [cap] = this.transaction.add(
105
+ personalKioskContract._new({
106
+ package: packageId,
107
+ arguments: {
108
+ kiosk: this.kiosk!,
109
+ cap: this.kioskCap!,
110
+ },
111
+ }),
113
112
  );
114
113
 
115
114
  // if we enable `borrow`, we borrow the kioskCap from the cap.
@@ -125,8 +124,8 @@ export class KioskTransaction {
125
124
  */
126
125
  createAndShare(address: string) {
127
126
  this.#validateFinalizedStatus();
128
- const cap = kioskTx.createKioskAndShare(this.transaction);
129
- this.transaction.transferObjects([cap], this.transaction.pure.address(address));
127
+ const cap = createKioskAndShare(this.transaction);
128
+ this.transaction.transferObjects([cap], address);
130
129
  return this;
131
130
  }
132
131
 
@@ -136,7 +135,11 @@ export class KioskTransaction {
136
135
  share() {
137
136
  this.#validateKioskIsSet();
138
137
  this.#setPendingStatuses({ share: false });
139
- kioskTx.shareKiosk(this.transaction, this.kiosk!);
138
+ this.transaction.moveCall({
139
+ target: '0x2::transfer::public_share_object',
140
+ arguments: [this.kiosk!],
141
+ typeArguments: ['0x2::kiosk::Kiosk'],
142
+ });
140
143
  return this;
141
144
  }
142
145
 
@@ -149,7 +152,7 @@ export class KioskTransaction {
149
152
  throw new Error('You can only call `shareAndTransferCap` on a non-personal kiosk.');
150
153
  this.#setPendingStatuses({ transfer: false });
151
154
  this.share();
152
- this.transaction.transferObjects([this.kioskCap!], this.transaction.pure.address(address));
155
+ this.transaction.transferObjects([this.kioskCap!], address);
153
156
  return this;
154
157
  }
155
158
 
@@ -159,12 +162,11 @@ export class KioskTransaction {
159
162
  */
160
163
  borrowTx({ itemType, itemId }: ItemId, callback: (item: TransactionArgument) => void) {
161
164
  this.#validateKioskIsSet();
162
- const [itemObj, promise] = kioskTx.borrowValue(
163
- this.transaction,
164
- itemType,
165
- this.kiosk!,
166
- this.kioskCap!,
167
- itemId,
165
+ const [itemObj, promise] = this.transaction.add(
166
+ kioskContract.borrowVal({
167
+ arguments: [this.kiosk!, this.kioskCap!, itemId],
168
+ typeArguments: [itemType],
169
+ }),
168
170
  );
169
171
 
170
172
  callback(itemObj);
@@ -180,12 +182,11 @@ export class KioskTransaction {
180
182
  */
181
183
  borrow({ itemType, itemId }: ItemId): [TransactionArgument, TransactionArgument] {
182
184
  this.#validateKioskIsSet();
183
- const [itemObj, promise] = kioskTx.borrowValue(
184
- this.transaction,
185
- itemType,
186
- this.kiosk!,
187
- this.kioskCap!,
188
- itemId,
185
+ const [itemObj, promise] = this.transaction.add(
186
+ kioskContract.borrowVal({
187
+ arguments: [this.kiosk!, this.kioskCap!, itemId],
188
+ typeArguments: [itemType],
189
+ }),
189
190
  );
190
191
 
191
192
  return [itemObj, promise];
@@ -197,19 +198,29 @@ export class KioskTransaction {
197
198
  */
198
199
  return({ itemType, item, promise }: ItemValue & { promise: TransactionArgument }) {
199
200
  this.#validateKioskIsSet();
200
- kioskTx.returnValue(this.transaction, itemType, this.kiosk!, item, promise);
201
+ this.transaction.add(
202
+ kioskContract.returnVal({
203
+ arguments: [this.kiosk!, item, promise],
204
+ typeArguments: [itemType],
205
+ }),
206
+ );
201
207
  return this;
202
208
  }
203
209
 
204
210
  /**
205
211
  * A function to withdraw from kiosk
206
- * @param address Where to trasnfer the coin.
212
+ * @param address Where to transfer the coin.
207
213
  * @param amount The amount we aim to withdraw.
208
214
  */
209
215
  withdraw(address: string, amount?: string | bigint | number) {
210
216
  this.#validateKioskIsSet();
211
- const coin = kioskTx.withdrawFromKiosk(this.transaction, this.kiosk!, this.kioskCap!, amount);
212
- this.transaction.transferObjects([coin], this.transaction.pure.address(address));
217
+
218
+ const [coin] = this.transaction.add(
219
+ kioskContract.withdraw({
220
+ arguments: [this.kiosk!, this.kioskCap!, amount == null ? null : BigInt(amount)],
221
+ }),
222
+ );
223
+ this.transaction.transferObjects([coin], address);
213
224
  return this;
214
225
  }
215
226
 
@@ -220,7 +231,13 @@ export class KioskTransaction {
220
231
  */
221
232
  place({ itemType, item }: ItemReference) {
222
233
  this.#validateKioskIsSet();
223
- kioskTx.place(this.transaction, itemType, this.kiosk!, this.kioskCap!, item);
234
+ const itemArg = typeof item === 'string' ? this.transaction.object(item) : item;
235
+ this.transaction.add(
236
+ kioskContract.place({
237
+ arguments: [this.kiosk!, this.kioskCap!, itemArg],
238
+ typeArguments: [itemType],
239
+ }),
240
+ );
224
241
  return this;
225
242
  }
226
243
 
@@ -232,7 +249,14 @@ export class KioskTransaction {
232
249
  */
233
250
  placeAndList({ itemType, item, price }: ItemReference & Price) {
234
251
  this.#validateKioskIsSet();
235
- kioskTx.placeAndList(this.transaction, itemType, this.kiosk!, this.kioskCap!, item, price);
252
+ const itemArg = typeof item === 'string' ? this.transaction.object(item) : item;
253
+ const priceArg = typeof price === 'string' ? BigInt(price) : price;
254
+ this.transaction.add(
255
+ kioskContract.placeAndList({
256
+ arguments: [this.kiosk!, this.kioskCap!, itemArg, priceArg],
257
+ typeArguments: [itemType],
258
+ }),
259
+ );
236
260
  return this;
237
261
  }
238
262
 
@@ -244,7 +268,13 @@ export class KioskTransaction {
244
268
  */
245
269
  list({ itemType, itemId, price }: ItemId & { price: string | bigint }) {
246
270
  this.#validateKioskIsSet();
247
- kioskTx.list(this.transaction, itemType, this.kiosk!, this.kioskCap!, itemId, price);
271
+ const priceArg = typeof price === 'string' ? BigInt(price) : price;
272
+ this.transaction.add(
273
+ kioskContract.list({
274
+ arguments: [this.kiosk!, this.kioskCap!, itemId, priceArg],
275
+ typeArguments: [itemType],
276
+ }),
277
+ );
248
278
  return this;
249
279
  }
250
280
 
@@ -255,7 +285,12 @@ export class KioskTransaction {
255
285
  */
256
286
  delist({ itemType, itemId }: ItemId) {
257
287
  this.#validateKioskIsSet();
258
- kioskTx.delist(this.transaction, itemType, this.kiosk!, this.kioskCap!, itemId);
288
+ this.transaction.add(
289
+ kioskContract.delist({
290
+ arguments: [this.kiosk!, this.kioskCap!, itemId],
291
+ typeArguments: [itemType],
292
+ }),
293
+ );
259
294
  return this;
260
295
  }
261
296
 
@@ -267,7 +302,13 @@ export class KioskTransaction {
267
302
  */
268
303
  take({ itemType, itemId }: ItemId): TransactionObjectArgument {
269
304
  this.#validateKioskIsSet();
270
- return kioskTx.take(this.transaction, itemType, this.kiosk!, this.kioskCap!, itemId);
305
+ const [item] = this.transaction.add(
306
+ kioskContract.take({
307
+ arguments: [this.kiosk!, this.kioskCap!, itemId],
308
+ typeArguments: [itemType],
309
+ }),
310
+ );
311
+ return item;
271
312
  }
272
313
 
273
314
  /**
@@ -280,7 +321,7 @@ export class KioskTransaction {
280
321
  transfer({ itemType, itemId, address }: ItemId & { address: string }) {
281
322
  this.#validateKioskIsSet();
282
323
  const item = this.take({ itemType, itemId });
283
- this.transaction.transferObjects([item], this.transaction.pure.address(address));
324
+ this.transaction.transferObjects([item], address);
284
325
  return this;
285
326
  }
286
327
 
@@ -299,7 +340,18 @@ export class KioskTransaction {
299
340
  policy,
300
341
  }: ItemReference & { policy: ObjectArgument; itemId?: string }) {
301
342
  this.#validateKioskIsSet();
302
- kioskTx.lock(this.transaction, itemType, this.kiosk!, this.kioskCap!, policy, itemId ?? item);
343
+ const itemArg = itemId
344
+ ? this.transaction.object(itemId)
345
+ : typeof item === 'string'
346
+ ? this.transaction.object(item)
347
+ : item;
348
+ const policyArg = typeof policy === 'string' ? this.transaction.object(policy) : policy;
349
+ this.transaction.add(
350
+ kioskContract.lock({
351
+ arguments: [this.kiosk!, this.kioskCap!, policyArg, itemArg],
352
+ typeArguments: [itemType],
353
+ }),
354
+ );
303
355
  return this;
304
356
  }
305
357
 
@@ -322,10 +374,16 @@ export class KioskTransaction {
322
374
  TransactionObjectArgument,
323
375
  ] {
324
376
  // Split the coin for the amount of the listing.
325
- const coin = this.transaction.splitCoins(this.transaction.gas, [
326
- this.transaction.pure.u64(price),
327
- ]);
328
- return kioskTx.purchase(this.transaction, itemType, sellerKiosk, itemId, coin);
377
+ const [coin] = this.transaction.splitCoins(this.transaction.gas, [price]);
378
+ const kioskArg =
379
+ typeof sellerKiosk === 'string' ? this.transaction.object(sellerKiosk) : sellerKiosk;
380
+ const [item, transferRequest] = this.transaction.add(
381
+ kioskContract.purchase({
382
+ arguments: [kioskArg, itemId, coin],
383
+ typeArguments: [itemType],
384
+ }),
385
+ );
386
+ return [item, transferRequest];
329
387
  }
330
388
 
331
389
  /**
@@ -377,7 +435,6 @@ export class KioskTransaction {
377
435
 
378
436
  await ruleDefinition.resolveRuleFunction({
379
437
  packageId: ruleDefinition.packageId,
380
- transactionBlock: this.transaction,
381
438
  transaction: this.transaction,
382
439
  itemType,
383
440
  itemId,
@@ -393,7 +450,12 @@ export class KioskTransaction {
393
450
  });
394
451
  }
395
452
 
396
- confirmRequest(this.transaction, itemType, policy.id, transferRequest);
453
+ this.transaction.add(
454
+ transferPolicyContract.confirmRequest({
455
+ arguments: [this.transaction.object(policy.id), transferRequest],
456
+ typeArguments: [itemType],
457
+ }),
458
+ );
397
459
 
398
460
  if (canTransferOutsideKiosk) this.place({ itemType, item: purchasedItem });
399
461
 
@@ -436,19 +498,33 @@ export class KioskTransaction {
436
498
  return;
437
499
  }
438
500
 
439
- const packageId = this.kioskClient.getRulePackageId('personalKioskRulePackageId');
440
-
441
501
  // if we have a promise, return the `ownerCap` back to the personal cap.
442
502
  if (this.#promise) {
443
- this.transaction.moveCall({
444
- target: `${packageId}::personal_kiosk::return_val`,
445
- arguments: [this.#personalCap, this.transaction.object(this.kioskCap!), this.#promise!],
446
- });
503
+ const packageId = this.kioskClient.getRulePackageId('personalKioskRulePackageId');
504
+
505
+ this.transaction.add(
506
+ personalKioskContract.returnVal({
507
+ package: packageId,
508
+ arguments: {
509
+ self: this.#personalCap,
510
+ cap: this.kioskCap!,
511
+ borrow: this.#promise,
512
+ },
513
+ }),
514
+ );
447
515
  }
448
516
 
449
517
  // If we are pending transferring the personalCap, we do it here.
450
- if (this.#pendingTransfer)
451
- transferPersonalCapTx(this.transaction, this.#personalCap, packageId);
518
+ if (this.#pendingTransfer) {
519
+ const packageId = this.kioskClient.getRulePackageId('personalKioskRulePackageId');
520
+
521
+ this.transaction.add(
522
+ personalKioskContract.transferToSender({
523
+ package: packageId,
524
+ arguments: { self: this.#personalCap },
525
+ }),
526
+ );
527
+ }
452
528
 
453
529
  // Mark the transaction as finalized, so no other functions can be called.
454
530
  this.#finalized = true;
@@ -490,15 +566,18 @@ export class KioskTransaction {
490
566
  * A function to borrow from `personalCap`.
491
567
  */
492
568
  #borrowFromPersonalCap(personalCap: ObjectArgument) {
493
- const [kioskCap, promise] = this.transaction.moveCall({
494
- target: `${this.kioskClient.getRulePackageId(
495
- 'personalKioskRulePackageId',
496
- )}::personal_kiosk::borrow_val`,
497
- arguments: [this.transaction.object(personalCap)],
498
- });
569
+ const packageId = this.kioskClient.getRulePackageId('personalKioskRulePackageId');
570
+ const personalCapArg =
571
+ typeof personalCap === 'string' ? this.transaction.object(personalCap) : personalCap;
572
+ const [kioskCap, promise] = this.transaction.add(
573
+ personalKioskContract.borrowVal({
574
+ package: packageId,
575
+ arguments: { self: personalCapArg },
576
+ }),
577
+ );
499
578
 
500
579
  this.kioskCap = kioskCap;
501
- this.#personalCap = this.transaction.object(personalCap);
580
+ this.#personalCap = personalCapArg;
502
581
  this.#promise = promise;
503
582
 
504
583
  return this;