@mysten/kiosk 0.0.0-experimental-20230530145812 → 0.0.0-experimental-20230602192304

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.
package/CHANGELOG.md CHANGED
@@ -1,14 +1,20 @@
1
1
  # @mysten/kiosk
2
2
 
3
- ## 0.0.0-experimental-20230530145812
3
+ ## 0.0.0-experimental-20230602192304
4
+
5
+ ### Minor Changes
6
+
7
+ - 968304368d: Support kiosk_lock_rule and environment support for rules package. Breaks `purchaseAndResolvePolicies` as it changes signature and return format.
8
+
9
+ ## 0.2.0
4
10
 
5
11
  ### Minor Changes
6
12
 
7
13
  - c322a230da: Fix fetchKiosk consistency/naming, include locked state in items
8
14
 
9
- ## 1.0.0
15
+ ## 0.1.0
10
16
 
11
- ### Major Changes
17
+ ### Minor Changes
12
18
 
13
19
  - 4ea96d909a: Kiosk SDK for managing, querying and interacting with Kiosk and TransferPolicy objects
14
20
 
package/README.md CHANGED
@@ -53,10 +53,10 @@ const getKiosk = async () => {
53
53
  </details>
54
54
 
55
55
  <details>
56
- <summary>Purchasing an item (currently supports royalty rule deployed on testnet or no rules)</summary>
56
+ <summary>Purchasing an item (currently supports royalty rule, kiosk_lock_rule, no rules, (combination works too))</summary>
57
57
 
58
58
  ```typescript
59
- import { fetchKiosk } from '@mysten/kiosk';
59
+ import { queryTransferPolicy, purchaseAndResolvePolicies, place, testnetEnvironment } from '@mysten/kiosk';
60
60
  import { Connection, JsonRpcProvider } from '@mysten/sui.js';
61
61
 
62
62
  const provider = new JsonRpcProvider(
@@ -76,6 +76,9 @@ const item = {
76
76
  price: "20000000000" // in MIST
77
77
  }
78
78
  }
79
+ const ownedKiosk = `0xMyKioskAddress`;
80
+ const ownedKioskCap = `0xMyKioskOwnerCap`;
81
+
79
82
  const purchaseItem = async (item, kioskId) => {
80
83
 
81
84
  // fetch the policy of the item (could be an array, if there's more than one transfer policy)
@@ -85,14 +88,25 @@ const purchaseItem = async (item, kioskId) => {
85
88
  // initialize tx block.
86
89
  const tx = new TransactionBlock();
87
90
 
88
- // Purchases the item. Right now it also resolves a royalty rule, if one exists.
89
- // There will be some additional work to support further rules & custom ones soon.
90
- const purchasedItem = purchaseAndResolvePolicies(tx, item.type, item.listing, kioskId, item.objectId, policy[0]);
91
+ // Both are required if you there is a `kiosk_lock_rule`.
92
+ // Optional otherwise. Function will throw an error if there's a kiosk_lock_rule and these are missing.
93
+ const extraParams = {
94
+ ownedKiosk,
95
+ ownedKioskCap
96
+ }
97
+ // Define the environment.
98
+ // To use a custom package address for rules, you could call:
99
+ // const environment = customEnvironment('<PackageAddress>');
100
+ const environment = testnetEnvironment;
91
101
 
92
- // now we need to decide what to do with the item
93
- // ... e.g. place() // places the item to the user's kiosk.
94
- // (NOT YET SUPPORTED BUT WORTH MENTIONING if the item has the `kiosk_lock` rule, the resolver will place it in the kiosk automatically.
95
- // For now, to support this rule, we need to manually resolve the `kiosk_lock` rule and place it in our owned kiosk.)
102
+ // Extra params. Optional, but required if the user tries to resolve a `kiosk_lock_rule`.
103
+ // Purchases the item. Supports `kiosk_lock_rule`, `royalty_rule` (accepts combination too).
104
+ const result = purchaseAndResolvePolicies(tx, item.type, item.listing.price, kioskId, item.objectId, policy[0], environment, extraParams);
105
+
106
+ // result = {item: <the_purchased_item>, canTransfer: true/false // depending on whether there was a kiosk lock rule }
107
+ // if the item didn't have a kiosk_lock_rule, we need to do something with it.
108
+ // for e..g place it in our own kiosk. (demonstrated below)
109
+ if(result.canTransfer) place(tx, item.type, ownedKiosk, ownedKioskCap , result.item);
96
110
 
97
111
  // ...finally, sign PTB & execute it.
98
112
 
@@ -158,12 +172,16 @@ import { TransactionBlock } from '@mysten/sui.js';
158
172
  const withdraw = async () => {
159
173
  const kiosk = 'SomeKioskId';
160
174
  const kioskCap = 'KioskCapObjectId';
175
+ const address = '0xSomeAddressThatReceivesTheFunds';
161
176
  const amount = '100000';
162
177
 
163
178
  const tx = new TransactionBlock();
164
179
 
165
180
  withdrawFromKiosk(tx, kiosk, kioskCap, amount);
166
181
 
182
+ // transfer the Coin to self or any other address.
183
+ tx.transferObjects([coin], tx.pure(address, 'address'));
184
+
167
185
  // ... continue to sign and execute the transaction
168
186
  // ...
169
187
  };
package/dist/bcs.d.ts CHANGED
@@ -1,33 +1,2 @@
1
- import { ObjectOwner, bcs } from '@mysten/sui.js';
2
- /**
3
- * The Kiosk object fields (for BCS queries).
4
- */
5
- export type Kiosk = {
6
- id: string;
7
- profits: string;
8
- owner: string;
9
- itemCount: number;
10
- allowExtensions: boolean;
11
- };
12
- /**
13
- * PurchaseCap object fields (for BCS queries).
14
- */
15
- export type PurchaseCap = {
16
- id: string;
17
- kioskId: string;
18
- itemId: string;
19
- minPrice: string;
20
- };
21
- /** Event emitted when a TransferPolicy is created. */
22
- export type TransferPolicyCreated = {
23
- id: string;
24
- };
25
- /** The `TransferPolicy` object */
26
- export type TransferPolicy = {
27
- id: string;
28
- type: string;
29
- balance: string;
30
- rules: string[];
31
- owner: ObjectOwner;
32
- };
1
+ import { bcs } from '@mysten/sui.js';
33
2
  export { bcs };
@@ -0,0 +1,4 @@
1
+ /** The Transer Policy Rules package address on testnet */
2
+ export declare const TESTNET_RULES_PACKAGE_ADDRESS = "bd8fc1947cf119350184107a3087e2dc27efefa0dd82e25a1f699069fe81a585";
3
+ /** The transfer policy rules package address on mainnet */
4
+ export declare const MAINNET_RULES_PACKAGE_ADDRESS = "0x434b5bd8f6a7b05fede0ff46c6e511d71ea326ed38056e3bcd681d2d7c2a7879";
package/dist/index.d.ts CHANGED
@@ -4,3 +4,5 @@ export * from './query/kiosk';
4
4
  export * from './bcs';
5
5
  export * from './utils';
6
6
  export * from './query/transfer-policy';
7
+ export * from './types';
8
+ export * from './constants';
package/dist/index.js CHANGED
@@ -20,12 +20,20 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
+ KIOSK_ITEM: () => KIOSK_ITEM,
24
+ KIOSK_LISTING: () => KIOSK_LISTING,
25
+ KIOSK_LOCK: () => KIOSK_LOCK,
26
+ KIOSK_LOCK_RULE: () => KIOSK_LOCK_RULE,
23
27
  KIOSK_MODULE: () => KIOSK_MODULE,
24
28
  KIOSK_OWNER_CAP: () => KIOSK_OWNER_CAP,
29
+ KIOSK_PURCHASE_CAP: () => KIOSK_PURCHASE_CAP,
25
30
  KIOSK_TYPE: () => KIOSK_TYPE,
31
+ MAINNET_RULES_PACKAGE_ADDRESS: () => MAINNET_RULES_PACKAGE_ADDRESS,
32
+ ROYALTY_RULE: () => ROYALTY_RULE,
33
+ TESTNET_RULES_PACKAGE_ADDRESS: () => TESTNET_RULES_PACKAGE_ADDRESS,
26
34
  TRANSFER_POLICY_CREATED_EVENT: () => TRANSFER_POLICY_CREATED_EVENT,
27
35
  TRANSFER_POLICY_MODULE: () => TRANSFER_POLICY_MODULE,
28
- TRANSFER_POLICY_RULES_PACKAGE_ADDRESS: () => TRANSFER_POLICY_RULES_PACKAGE_ADDRESS,
36
+ TRANSFER_POLICY_TYPE: () => TRANSFER_POLICY_TYPE,
29
37
  attachListingsAndPrices: () => attachListingsAndPrices,
30
38
  attachLockedItems: () => attachLockedItems,
31
39
  bcs: () => import_sui.bcs,
@@ -36,13 +44,16 @@ __export(src_exports, {
36
44
  createKiosk: () => createKiosk,
37
45
  createKioskAndShare: () => createKioskAndShare,
38
46
  createTransferPolicy: () => createTransferPolicy,
47
+ customEnvironment: () => customEnvironment,
39
48
  delist: () => delist,
40
49
  extractKioskData: () => extractKioskData,
41
50
  fetchKiosk: () => fetchKiosk,
42
51
  getKioskObject: () => getKioskObject,
52
+ getRulePackageAddress: () => getRulePackageAddress,
43
53
  getTypeWithoutPackageAddress: () => getTypeWithoutPackageAddress,
44
54
  list: () => list,
45
55
  lock: () => lock,
56
+ mainnetEnvironment: () => mainnetEnvironment,
46
57
  objArg: () => objArg,
47
58
  place: () => place,
48
59
  placeAndList: () => placeAndList,
@@ -50,9 +61,12 @@ __export(src_exports, {
50
61
  purchaseAndResolvePolicies: () => purchaseAndResolvePolicies,
51
62
  queryTransferPolicy: () => queryTransferPolicy,
52
63
  removeTransferPolicyRule: () => removeTransferPolicyRule,
64
+ resolveKioskLockRule: () => resolveKioskLockRule,
53
65
  resolveRoyaltyRule: () => resolveRoyaltyRule,
54
66
  returnValue: () => returnValue,
67
+ rulesPackageAddresses: () => rulesPackageAddresses,
55
68
  take: () => take,
69
+ testnetEnvironment: () => testnetEnvironment,
56
70
  withdrawFromKiosk: () => withdrawFromKiosk,
57
71
  withdrawFromPolicy: () => withdrawFromPolicy
58
72
  });
@@ -63,29 +77,65 @@ var import_sui2 = require("@mysten/sui.js");
63
77
 
64
78
  // src/bcs.ts
65
79
  var import_sui = require("@mysten/sui.js");
66
- import_sui.bcs.registerStructType("0x2::kiosk::Kiosk", {
80
+
81
+ // src/types/kiosk.ts
82
+ var KIOSK_MODULE = "0x2::kiosk";
83
+ var KIOSK_TYPE = `${KIOSK_MODULE}::Kiosk`;
84
+ var KIOSK_OWNER_CAP = `${KIOSK_MODULE}::KioskOwnerCap`;
85
+ var KIOSK_ITEM = `${KIOSK_MODULE}::Item`;
86
+ var KIOSK_LISTING = `${KIOSK_MODULE}::Listing`;
87
+ var KIOSK_LOCK = `${KIOSK_MODULE}::Lock`;
88
+ var KIOSK_PURCHASE_CAP = `${KIOSK_MODULE}::PurchaseCap`;
89
+
90
+ // src/types/transfer-policy.ts
91
+ var TRANSFER_POLICY_MODULE = "0x2::transfer_policy";
92
+ var TRANSFER_POLICY_CREATED_EVENT = `${TRANSFER_POLICY_MODULE}::TransferPolicyCreated`;
93
+ var TRANSFER_POLICY_TYPE = `${TRANSFER_POLICY_MODULE}::TransferPolicy`;
94
+ var KIOSK_LOCK_RULE = "kiosk_lock_rule::Rule";
95
+ var ROYALTY_RULE = "royalty_rule::Rule";
96
+
97
+ // src/types/env.ts
98
+ var testnetEnvironment = { env: "testnet" };
99
+ var mainnetEnvironment = { env: "mainnet" };
100
+ var customEnvironment = (address) => ({
101
+ env: "custom",
102
+ address
103
+ });
104
+
105
+ // src/bcs.ts
106
+ import_sui.bcs.registerStructType(KIOSK_TYPE, {
67
107
  id: "address",
68
108
  profits: "u64",
69
109
  owner: "address",
70
110
  itemCount: "u32",
71
111
  allowExtensions: "bool"
72
112
  });
73
- import_sui.bcs.registerStructType("0x2::kiosk::PurchaseCap", {
113
+ import_sui.bcs.registerStructType(KIOSK_PURCHASE_CAP, {
74
114
  id: "address",
75
115
  kioskId: "address",
76
116
  itemId: "address",
77
117
  minPrice: "u64"
78
118
  });
79
- import_sui.bcs.registerStructType("0x2::transfer_policy::TransferPolicyCreated", {
119
+ import_sui.bcs.registerStructType(TRANSFER_POLICY_CREATED_EVENT, {
80
120
  id: "address"
81
121
  });
82
- import_sui.bcs.registerStructType("0x2::transfer_policy::TransferPolicy", {
122
+ import_sui.bcs.registerStructType(TRANSFER_POLICY_TYPE, {
83
123
  id: "address",
84
124
  balance: "u64",
85
125
  rules: ["vector", "string"]
86
126
  });
87
127
 
128
+ // src/constants.ts
129
+ var TESTNET_RULES_PACKAGE_ADDRESS = "bd8fc1947cf119350184107a3087e2dc27efefa0dd82e25a1f699069fe81a585";
130
+ var MAINNET_RULES_PACKAGE_ADDRESS = "0x434b5bd8f6a7b05fede0ff46c6e511d71ea326ed38056e3bcd681d2d7c2a7879";
131
+
88
132
  // src/utils.ts
133
+ var rulesPackageAddresses = {
134
+ mainnet: MAINNET_RULES_PACKAGE_ADDRESS,
135
+ testnet: TESTNET_RULES_PACKAGE_ADDRESS,
136
+ devnet: "",
137
+ custom: null
138
+ };
89
139
  function objArg(tx, arg) {
90
140
  if (typeof arg === "string") {
91
141
  return tx.object(arg);
@@ -109,7 +159,7 @@ async function getKioskObject(provider, id) {
109
159
  if (!queryRes.data.bcs || !("bcsBytes" in queryRes.data.bcs)) {
110
160
  throw new Error(`Invalid kiosk query: ${id}, expected object, got package`);
111
161
  }
112
- return import_sui.bcs.de("0x2::kiosk::Kiosk", queryRes.data.bcs.bcsBytes, "base64");
162
+ return import_sui.bcs.de(KIOSK_TYPE, queryRes.data.bcs.bcsBytes, "base64");
113
163
  }
114
164
  function extractKioskData(data, listings, lockedItemIds) {
115
165
  return data.reduce(
@@ -141,10 +191,10 @@ function extractKioskData(data, listings, lockedItemIds) {
141
191
  { items: [], itemIds: [], listingIds: [], extensions: [] }
142
192
  );
143
193
  }
144
- var getTypeWithoutPackageAddress = (type) => {
194
+ function getTypeWithoutPackageAddress(type) {
145
195
  return type.split("::").slice(-2).join("::");
146
- };
147
- var attachListingsAndPrices = (kioskData, listings, listingObjects) => {
196
+ }
197
+ function attachListingsAndPrices(kioskData, listings, listingObjects) {
148
198
  const itemListings = listings.reduce(
149
199
  (acc, item, idx) => {
150
200
  acc[item.objectId] = { ...item };
@@ -161,8 +211,8 @@ var attachListingsAndPrices = (kioskData, listings, listingObjects) => {
161
211
  kioskData.items.map((item) => {
162
212
  item.listing = itemListings[item.objectId] || void 0;
163
213
  });
164
- };
165
- var attachLockedItems = (kioskData, lockedItemIds) => {
214
+ }
215
+ function attachLockedItems(kioskData, lockedItemIds) {
166
216
  const lockedStatuses = lockedItemIds.reduce(
167
217
  (acc, item) => {
168
218
  acc[item] = true;
@@ -173,11 +223,17 @@ var attachLockedItems = (kioskData, lockedItemIds) => {
173
223
  kioskData.items.map((item) => {
174
224
  item.isLocked = lockedStatuses[item.objectId] || false;
175
225
  });
176
- };
226
+ }
227
+ function getRulePackageAddress(environment) {
228
+ if (environment.env === "custom") {
229
+ if (!environment.address)
230
+ throw new Error("Please supply the custom package address for rules.");
231
+ return environment.address;
232
+ }
233
+ return rulesPackageAddresses[environment.env];
234
+ }
177
235
 
178
236
  // src/tx/transfer-policy.ts
179
- var TRANSFER_POLICY_MODULE = "0x2::transfer_policy";
180
- var TRANSFER_POLICY_RULES_PACKAGE_ADDRESS = "bd8fc1947cf119350184107a3087e2dc27efefa0dd82e25a1f699069fe81a585";
181
237
  function createTransferPolicy(tx, itemType, publisher) {
182
238
  let [transferPolicy, transferPolicyCap] = tx.moveCall({
183
239
  target: `${TRANSFER_POLICY_MODULE}::new`,
@@ -192,7 +248,7 @@ function createTransferPolicy(tx, itemType, publisher) {
192
248
  return transferPolicyCap;
193
249
  }
194
250
  function withdrawFromPolicy(tx, itemType, policy, policyCap, amount) {
195
- let amountArg = amount !== null ? tx.pure(amount, "Option<u64>") : tx.pure({ None: true }, "Option<u64>");
251
+ let amountArg = amount !== null ? tx.pure({ Some: amount }, "Option<u64>") : tx.pure({ None: true }, "Option<u64>");
196
252
  let [profits] = tx.moveCall({
197
253
  target: `${TRANSFER_POLICY_MODULE}::withdraw`,
198
254
  typeArguments: [itemType],
@@ -214,25 +270,30 @@ function removeTransferPolicyRule(tx, itemType, ruleType, configType, policy, po
214
270
  arguments: [objArg(tx, policy), policyCap]
215
271
  });
216
272
  }
217
- function resolveRoyaltyRule(tx, itemType, price, policyId, transferRequest) {
273
+ function resolveRoyaltyRule(tx, itemType, price, policyId, transferRequest, environment) {
218
274
  const policyObj = objArg(tx, policyId);
219
275
  const [amount] = tx.moveCall({
220
- target: `${TRANSFER_POLICY_RULES_PACKAGE_ADDRESS}::royalty_rule::fee_amount`,
276
+ target: `${getRulePackageAddress(environment)}::royalty_rule::fee_amount`,
221
277
  typeArguments: [itemType],
222
278
  arguments: [policyObj, objArg(tx, price)]
223
279
  });
224
280
  const feeCoin = tx.splitCoins(tx.gas, [amount]);
225
281
  tx.moveCall({
226
- target: `${TRANSFER_POLICY_RULES_PACKAGE_ADDRESS}::royalty_rule::pay`,
282
+ target: `${getRulePackageAddress(environment)}::royalty_rule::pay`,
227
283
  typeArguments: [itemType],
228
284
  arguments: [policyObj, transferRequest, feeCoin]
229
285
  });
230
286
  }
287
+ function resolveKioskLockRule(tx, itemType, item, kiosk, kioskCap, policyId, transferRequest, environment) {
288
+ lock(tx, itemType, kiosk, kioskCap, policyId, item);
289
+ tx.moveCall({
290
+ target: `${getRulePackageAddress(environment)}::kiosk_lock_rule::prove`,
291
+ typeArguments: [itemType],
292
+ arguments: [transferRequest, objArg(tx, kiosk)]
293
+ });
294
+ }
231
295
 
232
296
  // src/tx/kiosk.ts
233
- var KIOSK_MODULE = "0x2::kiosk";
234
- var KIOSK_TYPE = `${KIOSK_MODULE}::Kiosk`;
235
- var KIOSK_OWNER_CAP = `${KIOSK_MODULE}::KioskOwnerCap`;
236
297
  function createKiosk(tx) {
237
298
  let [kiosk, kioskOwnerCap] = tx.moveCall({
238
299
  target: `${KIOSK_MODULE}::new`
@@ -329,7 +390,12 @@ function purchase(tx, itemType, kiosk, itemId, payment) {
329
390
  return [item, transferRequest];
330
391
  }
331
392
  function withdrawFromKiosk(tx, kiosk, kioskCap, amount) {
332
- let amountArg = amount !== null ? tx.pure(amount, "Option<u64>") : tx.pure({ None: true }, "Option<u64>");
393
+ let amountArg = amount !== null ? tx.pure(
394
+ {
395
+ Some: amount
396
+ },
397
+ "Option<u64>"
398
+ ) : tx.pure({ None: true }, "Option<u64>");
333
399
  let [coin] = tx.moveCall({
334
400
  target: `${KIOSK_MODULE}::withdraw`,
335
401
  arguments: [objArg(tx, kiosk), objArg(tx, kioskCap), amountArg]
@@ -379,27 +445,46 @@ function returnValue(tx, itemType, kiosk, item, promise) {
379
445
  arguments: [objArg(tx, kiosk), item, promise]
380
446
  });
381
447
  }
382
- function purchaseAndResolvePolicies(tx, itemType, listing, kioskId, itemId, policy) {
383
- if (!listing || listing?.price === void 0)
384
- return null;
385
- const coin = tx.splitCoins(tx.gas, [tx.pure(listing.price)]);
448
+ function purchaseAndResolvePolicies(tx, itemType, price, kiosk, itemId, policy, environment, extraParams) {
449
+ if (price === void 0 || typeof price !== "string")
450
+ throw new Error(`Price of the listing is not supplied.`);
451
+ const coin = tx.splitCoins(tx.gas, [tx.pure(price, "u64")]);
386
452
  const [purchasedItem, transferRequest] = purchase(
387
453
  tx,
388
454
  itemType,
389
- kioskId,
455
+ kiosk,
390
456
  itemId,
391
457
  coin
392
458
  );
459
+ let hasKioskLockRule = false;
393
460
  for (let rule of policy.rules) {
394
461
  const ruleWithoutAddr = getTypeWithoutPackageAddress(rule);
395
462
  switch (ruleWithoutAddr) {
396
- case "royalty_rule::Rule":
463
+ case ROYALTY_RULE:
397
464
  resolveRoyaltyRule(
398
465
  tx,
399
466
  itemType,
400
- listing.price,
467
+ price,
401
468
  policy.id,
402
- transferRequest
469
+ transferRequest,
470
+ environment
471
+ );
472
+ break;
473
+ case KIOSK_LOCK_RULE:
474
+ if (!extraParams?.ownedKiosk || !extraParams?.ownedKioskCap)
475
+ throw new Error(
476
+ `This item type ${itemType} has a 'kiosk_lock_rule', but function call is missing user's kiosk and kioskCap params`
477
+ );
478
+ hasKioskLockRule = true;
479
+ resolveKioskLockRule(
480
+ tx,
481
+ itemType,
482
+ purchasedItem,
483
+ extraParams.ownedKiosk,
484
+ extraParams.ownedKioskCap,
485
+ policy.id,
486
+ transferRequest,
487
+ environment
403
488
  );
404
489
  break;
405
490
  default:
@@ -407,7 +492,10 @@ function purchaseAndResolvePolicies(tx, itemType, listing, kioskId, itemId, poli
407
492
  }
408
493
  }
409
494
  confirmRequest(tx, itemType, policy.id, transferRequest);
410
- return purchasedItem;
495
+ return {
496
+ item: purchasedItem,
497
+ canTransfer: !hasKioskLockRule
498
+ };
411
499
  }
412
500
 
413
501
  // src/query/kiosk.ts
@@ -440,7 +528,6 @@ async function fetchKiosk(provider, kioskId, pagination, options) {
440
528
  }
441
529
 
442
530
  // src/query/transfer-policy.ts
443
- var TRANSFER_POLICY_CREATED_EVENT = `0x2::transfer_policy::TransferPolicyCreated`;
444
531
  async function queryTransferPolicy(provider, type) {
445
532
  const { data } = await provider.queryEvents({
446
533
  query: {
@@ -458,14 +545,10 @@ async function queryTransferPolicy(provider, type) {
458
545
  `Invalid policy: ${policy?.objectId}, expected object, got package`
459
546
  );
460
547
  }
461
- let parsed = import_sui.bcs.de(
462
- "0x2::transfer_policy::TransferPolicy",
463
- policy.bcs.bcsBytes,
464
- "base64"
465
- );
548
+ let parsed = import_sui.bcs.de(TRANSFER_POLICY_TYPE, policy.bcs.bcsBytes, "base64");
466
549
  return {
467
550
  id: policy?.objectId,
468
- type: `0x2::transfer_policy::TransferPolicy<${type}>`,
551
+ type: `${TRANSFER_POLICY_TYPE}<${type}>`,
469
552
  owner: policy?.owner,
470
553
  rules: parsed.rules,
471
554
  balance: parsed.balance
@@ -474,12 +557,20 @@ async function queryTransferPolicy(provider, type) {
474
557
  }
475
558
  // Annotate the CommonJS export names for ESM import in node:
476
559
  0 && (module.exports = {
560
+ KIOSK_ITEM,
561
+ KIOSK_LISTING,
562
+ KIOSK_LOCK,
563
+ KIOSK_LOCK_RULE,
477
564
  KIOSK_MODULE,
478
565
  KIOSK_OWNER_CAP,
566
+ KIOSK_PURCHASE_CAP,
479
567
  KIOSK_TYPE,
568
+ MAINNET_RULES_PACKAGE_ADDRESS,
569
+ ROYALTY_RULE,
570
+ TESTNET_RULES_PACKAGE_ADDRESS,
480
571
  TRANSFER_POLICY_CREATED_EVENT,
481
572
  TRANSFER_POLICY_MODULE,
482
- TRANSFER_POLICY_RULES_PACKAGE_ADDRESS,
573
+ TRANSFER_POLICY_TYPE,
483
574
  attachListingsAndPrices,
484
575
  attachLockedItems,
485
576
  bcs,
@@ -490,13 +581,16 @@ async function queryTransferPolicy(provider, type) {
490
581
  createKiosk,
491
582
  createKioskAndShare,
492
583
  createTransferPolicy,
584
+ customEnvironment,
493
585
  delist,
494
586
  extractKioskData,
495
587
  fetchKiosk,
496
588
  getKioskObject,
589
+ getRulePackageAddress,
497
590
  getTypeWithoutPackageAddress,
498
591
  list,
499
592
  lock,
593
+ mainnetEnvironment,
500
594
  objArg,
501
595
  place,
502
596
  placeAndList,
@@ -504,9 +598,12 @@ async function queryTransferPolicy(provider, type) {
504
598
  purchaseAndResolvePolicies,
505
599
  queryTransferPolicy,
506
600
  removeTransferPolicyRule,
601
+ resolveKioskLockRule,
507
602
  resolveRoyaltyRule,
508
603
  returnValue,
604
+ rulesPackageAddresses,
509
605
  take,
606
+ testnetEnvironment,
510
607
  withdrawFromKiosk,
511
608
  withdrawFromPolicy
512
609
  });