@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.
- package/CHANGELOG.md +114 -2
- package/dist/client/kiosk-client.d.mts +126 -0
- package/dist/client/kiosk-client.d.mts.map +1 -0
- package/dist/client/kiosk-client.mjs +124 -0
- package/dist/client/kiosk-client.mjs.map +1 -0
- package/dist/client/kiosk-transaction.d.mts +236 -0
- package/dist/client/kiosk-transaction.d.mts.map +1 -0
- package/dist/client/kiosk-transaction.mjs +472 -0
- package/dist/client/kiosk-transaction.mjs.map +1 -0
- package/dist/client/tp-transaction.d.mts +139 -0
- package/dist/client/tp-transaction.d.mts.map +1 -0
- package/dist/client/tp-transaction.mjs +273 -0
- package/dist/client/tp-transaction.mjs.map +1 -0
- package/dist/constants.d.mts +42 -0
- package/dist/constants.d.mts.map +1 -0
- package/dist/constants.mjs +62 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/contracts/0x2/bag.mjs +19 -0
- package/dist/contracts/0x2/bag.mjs.map +1 -0
- package/dist/contracts/0x2/balance.mjs +20 -0
- package/dist/contracts/0x2/balance.mjs.map +1 -0
- package/dist/contracts/0x2/deps/0x0000000000000000000000000000000000000000000000000000000000000001/type_name.mjs +16 -0
- package/dist/contracts/0x2/deps/0x0000000000000000000000000000000000000000000000000000000000000001/type_name.mjs.map +1 -0
- package/dist/contracts/0x2/kiosk.mjs +244 -0
- package/dist/contracts/0x2/kiosk.mjs.map +1 -0
- package/dist/contracts/0x2/kiosk_extension.mjs +25 -0
- package/dist/contracts/0x2/kiosk_extension.mjs.map +1 -0
- package/dist/contracts/0x2/transfer_policy.mjs +99 -0
- package/dist/contracts/0x2/transfer_policy.mjs.map +1 -0
- package/dist/contracts/0x2/vec_set.mjs +18 -0
- package/dist/contracts/0x2/vec_set.mjs.map +1 -0
- package/dist/contracts/kiosk/deps/sui/kiosk.mjs +98 -0
- package/dist/contracts/kiosk/deps/sui/kiosk.mjs.map +1 -0
- package/dist/contracts/kiosk/floor_price_rule.mjs +70 -0
- package/dist/contracts/kiosk/floor_price_rule.mjs.map +1 -0
- package/dist/contracts/kiosk/kiosk_lock_rule.mjs +72 -0
- package/dist/contracts/kiosk/kiosk_lock_rule.mjs.map +1 -0
- package/dist/contracts/kiosk/personal_kiosk.mjs +102 -0
- package/dist/contracts/kiosk/personal_kiosk.mjs.map +1 -0
- package/dist/contracts/kiosk/personal_kiosk_rule.mjs +66 -0
- package/dist/contracts/kiosk/personal_kiosk_rule.mjs.map +1 -0
- package/dist/contracts/kiosk/royalty_rule.mjs +115 -0
- package/dist/contracts/kiosk/royalty_rule.mjs.map +1 -0
- package/dist/contracts/utils/index.mjs +118 -0
- package/dist/contracts/utils/index.mjs.map +1 -0
- package/dist/index.d.mts +9 -0
- package/dist/index.mjs +9 -0
- package/dist/query/client-utils.mjs +30 -0
- package/dist/query/client-utils.mjs.map +1 -0
- package/dist/query/kiosk.mjs +154 -0
- package/dist/query/kiosk.mjs.map +1 -0
- package/dist/query/transfer-policy.mjs +110 -0
- package/dist/query/transfer-policy.mjs.map +1 -0
- package/dist/tx/kiosk.mjs +20 -0
- package/dist/tx/kiosk.mjs.map +1 -0
- package/dist/tx/rules/resolve.mjs +114 -0
- package/dist/tx/rules/resolve.mjs.map +1 -0
- package/dist/tx/transfer-policy.mjs +38 -0
- package/dist/tx/transfer-policy.mjs.map +1 -0
- package/dist/types/index.d.mts +23 -0
- package/dist/types/index.d.mts.map +1 -0
- package/dist/types/kiosk.d.mts +165 -0
- package/dist/types/kiosk.d.mts.map +1 -0
- package/dist/types/kiosk.mjs +21 -0
- package/dist/types/kiosk.mjs.map +1 -0
- package/dist/types/transfer-policy.d.mts +56 -0
- package/dist/types/transfer-policy.d.mts.map +1 -0
- package/dist/types/transfer-policy.mjs +19 -0
- package/dist/types/transfer-policy.mjs.map +1 -0
- package/dist/utils.d.mts +45 -0
- package/dist/utils.d.mts.map +1 -0
- package/dist/utils.mjs +156 -0
- package/dist/utils.mjs.map +1 -0
- package/package.json +31 -20
- package/src/client/kiosk-client.ts +42 -5
- package/src/client/kiosk-transaction.ts +144 -65
- package/src/client/tp-transaction.ts +149 -95
- package/src/constants.ts +19 -24
- package/src/contracts/0x2/accumulator.ts +24 -0
- package/src/contracts/0x2/accumulator_metadata.ts +38 -0
- package/src/contracts/0x2/accumulator_settlement.ts +14 -0
- package/src/contracts/0x2/address.ts +145 -0
- package/src/contracts/0x2/address_alias.ts +92 -0
- package/src/contracts/0x2/authenticator_state.ts +44 -0
- package/src/contracts/0x2/bag.ts +192 -0
- package/src/contracts/0x2/balance.ts +269 -0
- package/src/contracts/0x2/bcs.ts +495 -0
- package/src/contracts/0x2/bls12381.ts +717 -0
- package/src/contracts/0x2/borrow.ts +99 -0
- package/src/contracts/0x2/clock.ts +30 -0
- package/src/contracts/0x2/coin.ts +977 -0
- package/src/contracts/0x2/coin_registry.ts +874 -0
- package/src/contracts/0x2/config.ts +30 -0
- package/src/contracts/0x2/deny_list.ts +55 -0
- package/src/contracts/0x2/deps/0x0000000000000000000000000000000000000000000000000000000000000001/type_name.ts +12 -0
- package/src/contracts/0x2/derived_object.ts +95 -0
- package/src/contracts/0x2/display.ts +258 -0
- package/src/contracts/0x2/dynamic_field.ts +171 -0
- package/src/contracts/0x2/dynamic_object_field.ts +167 -0
- package/src/contracts/0x2/ecdsa_k1.ts +65 -0
- package/src/contracts/0x2/ecdsa_r1.ts +49 -0
- package/src/contracts/0x2/ecvrf.ts +29 -0
- package/src/contracts/0x2/ed25519.ts +25 -0
- package/src/contracts/0x2/event.ts +42 -0
- package/src/contracts/0x2/funds_accumulator.ts +86 -0
- package/src/contracts/0x2/groth16.ts +171 -0
- package/src/contracts/0x2/group_ops.ts +49 -0
- package/src/contracts/0x2/hash.ts +37 -0
- package/src/contracts/0x2/hex.ts +37 -0
- package/src/contracts/0x2/hmac.ts +21 -0
- package/src/contracts/0x2/kiosk.ts +797 -0
- package/src/contracts/0x2/kiosk_extension.ts +270 -0
- package/src/contracts/0x2/linked_table.ts +354 -0
- package/src/contracts/0x2/math.ts +117 -0
- package/src/contracts/0x2/nitro_attestation.ts +186 -0
- package/src/contracts/0x2/object.ts +249 -0
- package/src/contracts/0x2/object_bag.ts +210 -0
- package/src/contracts/0x2/object_table.ts +200 -0
- package/src/contracts/0x2/package.ts +414 -0
- package/src/contracts/0x2/party.ts +37 -0
- package/src/contracts/0x2/pay.ts +153 -0
- package/src/contracts/0x2/poseidon.ts +21 -0
- package/src/contracts/0x2/priority_queue.ts +139 -0
- package/src/contracts/0x2/random.ts +294 -0
- package/src/contracts/0x2/sui.ts +29 -0
- package/src/contracts/0x2/table.ts +200 -0
- package/src/contracts/0x2/table_vec.ts +232 -0
- package/src/contracts/0x2/token.ts +873 -0
- package/src/contracts/0x2/transfer.ts +216 -0
- package/src/contracts/0x2/transfer_policy.ts +400 -0
- package/src/contracts/0x2/tx_context.ts +129 -0
- package/src/contracts/0x2/types.ts +24 -0
- package/src/contracts/0x2/url.ts +77 -0
- package/src/contracts/0x2/vdf.ts +45 -0
- package/src/contracts/0x2/vec_map.ts +401 -0
- package/src/contracts/0x2/vec_set.ts +211 -0
- package/src/contracts/0x2/versioned.ts +153 -0
- package/src/contracts/0x2/zklogin_verified_id.ts +172 -0
- package/src/contracts/0x2/zklogin_verified_issuer.ts +99 -0
- package/src/contracts/kiosk/deps/sui/kiosk.ts +94 -0
- package/src/contracts/kiosk/deps/sui/object.ts +15 -0
- package/src/contracts/kiosk/floor_price_rule.ts +92 -0
- package/src/contracts/kiosk/kiosk_lock_rule.ts +97 -0
- package/src/contracts/kiosk/personal_kiosk.ts +295 -0
- package/src/contracts/kiosk/personal_kiosk_rule.ts +89 -0
- package/src/contracts/kiosk/royalty_rule.ts +144 -0
- package/src/contracts/kiosk/witness_rule.ts +92 -0
- package/src/contracts/utils/index.ts +234 -0
- package/src/query/client-utils.ts +51 -0
- package/src/query/kiosk.ts +128 -100
- package/src/query/transfer-policy.ts +112 -78
- package/src/tx/kiosk.ts +7 -231
- package/src/tx/rules/resolve.ts +97 -48
- package/src/tx/transfer-policy.ts +25 -86
- package/src/types/index.ts +3 -14
- package/src/types/kiosk.ts +10 -12
- package/src/types/transfer-policy.ts +4 -4
- package/src/utils.ts +90 -128
- package/dist/cjs/bcs.d.ts +0 -23
- package/dist/cjs/bcs.js +0 -50
- package/dist/cjs/bcs.js.map +0 -7
- package/dist/cjs/client/kiosk-client.d.ts +0 -76
- package/dist/cjs/client/kiosk-client.js +0 -123
- package/dist/cjs/client/kiosk-client.js.map +0 -7
- package/dist/cjs/client/kiosk-transaction.d.ts +0 -186
- package/dist/cjs/client/kiosk-transaction.js +0 -462
- package/dist/cjs/client/kiosk-transaction.js.map +0 -7
- package/dist/cjs/client/tp-transaction.d.ts +0 -114
- package/dist/cjs/client/tp-transaction.js +0 -307
- package/dist/cjs/client/tp-transaction.js.map +0 -7
- package/dist/cjs/constants.d.ts +0 -31
- package/dist/cjs/constants.js +0 -102
- package/dist/cjs/constants.js.map +0 -7
- package/dist/cjs/index.d.ts +0 -6
- package/dist/cjs/index.js +0 -24
- package/dist/cjs/index.js.map +0 -7
- package/dist/cjs/package.json +0 -5
- package/dist/cjs/query/kiosk.d.ts +0 -8
- package/dist/cjs/query/kiosk.js +0 -181
- package/dist/cjs/query/kiosk.js.map +0 -7
- package/dist/cjs/query/transfer-policy.d.ts +0 -29
- package/dist/cjs/query/transfer-policy.js +0 -92
- package/dist/cjs/query/transfer-policy.js.map +0 -7
- package/dist/cjs/tx/kiosk.d.ts +0 -71
- package/dist/cjs/tx/kiosk.js +0 -130
- package/dist/cjs/tx/kiosk.js.map +0 -7
- package/dist/cjs/tx/personal-kiosk.d.ts +0 -7
- package/dist/cjs/tx/personal-kiosk.js +0 -38
- package/dist/cjs/tx/personal-kiosk.js.map +0 -7
- package/dist/cjs/tx/rules/attach.d.ts +0 -7
- package/dist/cjs/tx/rules/attach.js +0 -62
- package/dist/cjs/tx/rules/attach.js.map +0 -7
- package/dist/cjs/tx/rules/resolve.d.ts +0 -15
- package/dist/cjs/tx/rules/resolve.js +0 -109
- package/dist/cjs/tx/rules/resolve.js.map +0 -7
- package/dist/cjs/tx/transfer-policy.d.ts +0 -29
- package/dist/cjs/tx/transfer-policy.js +0 -78
- package/dist/cjs/tx/transfer-policy.js.map +0 -7
- package/dist/cjs/types/index.d.ts +0 -27
- package/dist/cjs/types/index.js +0 -33
- package/dist/cjs/types/index.js.map +0 -7
- package/dist/cjs/types/kiosk.d.ts +0 -160
- package/dist/cjs/types/kiosk.js +0 -37
- package/dist/cjs/types/kiosk.js.map +0 -7
- package/dist/cjs/types/transfer-policy.d.ts +0 -53
- package/dist/cjs/types/transfer-policy.js +0 -35
- package/dist/cjs/types/transfer-policy.js.map +0 -7
- package/dist/cjs/utils.d.ts +0 -51
- package/dist/cjs/utils.js +0 -198
- package/dist/cjs/utils.js.map +0 -7
- package/dist/esm/bcs.d.ts +0 -23
- package/dist/esm/bcs.js +0 -35
- package/dist/esm/bcs.js.map +0 -7
- package/dist/esm/client/kiosk-client.d.ts +0 -76
- package/dist/esm/client/kiosk-client.js +0 -114
- package/dist/esm/client/kiosk-client.js.map +0 -7
- package/dist/esm/client/kiosk-transaction.d.ts +0 -186
- package/dist/esm/client/kiosk-transaction.js +0 -432
- package/dist/esm/client/kiosk-transaction.js.map +0 -7
- package/dist/esm/client/tp-transaction.d.ts +0 -114
- package/dist/esm/client/tp-transaction.js +0 -298
- package/dist/esm/client/tp-transaction.js.map +0 -7
- package/dist/esm/constants.d.ts +0 -31
- package/dist/esm/constants.js +0 -87
- package/dist/esm/constants.js.map +0 -7
- package/dist/esm/index.d.ts +0 -6
- package/dist/esm/index.js +0 -7
- package/dist/esm/index.js.map +0 -7
- package/dist/esm/package.json +0 -5
- package/dist/esm/query/kiosk.d.ts +0 -8
- package/dist/esm/query/kiosk.js +0 -169
- package/dist/esm/query/kiosk.js.map +0 -7
- package/dist/esm/query/transfer-policy.d.ts +0 -29
- package/dist/esm/query/transfer-policy.js +0 -76
- package/dist/esm/query/transfer-policy.js.map +0 -7
- package/dist/esm/tx/kiosk.d.ts +0 -71
- package/dist/esm/tx/kiosk.js +0 -110
- package/dist/esm/tx/kiosk.js.map +0 -7
- package/dist/esm/tx/personal-kiosk.d.ts +0 -7
- package/dist/esm/tx/personal-kiosk.js +0 -18
- package/dist/esm/tx/personal-kiosk.js.map +0 -7
- package/dist/esm/tx/rules/attach.d.ts +0 -7
- package/dist/esm/tx/rules/attach.js +0 -42
- package/dist/esm/tx/rules/attach.js.map +0 -7
- package/dist/esm/tx/rules/resolve.d.ts +0 -15
- package/dist/esm/tx/rules/resolve.js +0 -89
- package/dist/esm/tx/rules/resolve.js.map +0 -7
- package/dist/esm/tx/transfer-policy.d.ts +0 -29
- package/dist/esm/tx/transfer-policy.js +0 -58
- package/dist/esm/tx/transfer-policy.js.map +0 -7
- package/dist/esm/types/index.d.ts +0 -27
- package/dist/esm/types/index.js +0 -12
- package/dist/esm/types/index.js.map +0 -7
- package/dist/esm/types/kiosk.d.ts +0 -160
- package/dist/esm/types/kiosk.js +0 -17
- package/dist/esm/types/kiosk.js.map +0 -7
- package/dist/esm/types/transfer-policy.d.ts +0 -53
- package/dist/esm/types/transfer-policy.js +0 -15
- package/dist/esm/types/transfer-policy.js.map +0 -7
- package/dist/esm/utils.d.ts +0 -51
- package/dist/esm/utils.js +0 -183
- package/dist/esm/utils.js.map +0 -7
- package/dist/tsconfig.esm.tsbuildinfo +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/bcs.ts +0 -39
- package/src/tx/personal-kiosk.ts +0 -34
- package/src/tx/rules/attach.ts +0 -73
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { ObjectArgument } from "./index.mjs";
|
|
2
|
+
import { TransactionArgument } from "@mysten/sui/transactions";
|
|
3
|
+
import { SuiClientTypes } from "@mysten/sui/client";
|
|
4
|
+
|
|
5
|
+
//#region src/types/kiosk.d.ts
|
|
6
|
+
/** The Kiosk module. */
|
|
7
|
+
declare const KIOSK_MODULE = "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk";
|
|
8
|
+
/** The Kiosk type. */
|
|
9
|
+
declare const KIOSK_TYPE = "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Kiosk";
|
|
10
|
+
/** The Kiosk Owner Cap Type */
|
|
11
|
+
declare const KIOSK_OWNER_CAP = "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::KioskOwnerCap";
|
|
12
|
+
/** The Kiosk Item Type */
|
|
13
|
+
declare const KIOSK_ITEM = "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Item";
|
|
14
|
+
/** The Kiosk Listing Type */
|
|
15
|
+
declare const KIOSK_LISTING = "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Listing";
|
|
16
|
+
/** The Kiosk Lock Type */
|
|
17
|
+
declare const KIOSK_LOCK = "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Lock";
|
|
18
|
+
/** The Kiosk PurchaseCap type */
|
|
19
|
+
declare const KIOSK_PURCHASE_CAP = "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::PurchaseCap";
|
|
20
|
+
/**
|
|
21
|
+
* The Kiosk object fields (for BCS queries).
|
|
22
|
+
*/
|
|
23
|
+
type Kiosk = {
|
|
24
|
+
id: string;
|
|
25
|
+
profits: string;
|
|
26
|
+
owner: string;
|
|
27
|
+
itemCount: number;
|
|
28
|
+
allowExtensions: boolean;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* PurchaseCap object fields (for BCS queries).
|
|
32
|
+
*/
|
|
33
|
+
type PurchaseCap = {
|
|
34
|
+
id: string;
|
|
35
|
+
kioskId: string;
|
|
36
|
+
itemId: string;
|
|
37
|
+
minPrice: string;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* The response type of a successful purchase flow.
|
|
41
|
+
* Returns the item, and a `canTransfer` param.
|
|
42
|
+
*/
|
|
43
|
+
type PurchaseAndResolvePoliciesResponse = {
|
|
44
|
+
item: TransactionArgument;
|
|
45
|
+
canTransfer: boolean;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Optional parameters for `purchaseAndResolvePolicies` flow.
|
|
49
|
+
* This gives us the chance to extend the function in further releases
|
|
50
|
+
* without introducing more breaking changes.
|
|
51
|
+
*/
|
|
52
|
+
type PurchaseOptionalParams = {
|
|
53
|
+
ownedKiosk?: ObjectArgument;
|
|
54
|
+
ownedKioskCap?: ObjectArgument;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* A dynamic field `Listing { ID, isExclusive }` attached to the Kiosk.
|
|
58
|
+
* Holds a `u64` value - the price of the item.
|
|
59
|
+
*/
|
|
60
|
+
type KioskListing = {
|
|
61
|
+
/** The ID of the Item */
|
|
62
|
+
objectId: string;
|
|
63
|
+
/**
|
|
64
|
+
* Whether or not there's a `PurchaseCap` issued. `true` means that
|
|
65
|
+
* the listing is controlled by some logic and can't be purchased directly.
|
|
66
|
+
*
|
|
67
|
+
* TODO: consider renaming the field for better indication.
|
|
68
|
+
*/
|
|
69
|
+
isExclusive: boolean;
|
|
70
|
+
/** The ID of the listing */
|
|
71
|
+
listingId: string;
|
|
72
|
+
price?: string;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* A dynamic field `Item { ID }` attached to the Kiosk.
|
|
76
|
+
* Holds an Item `T`. The type of the item is known upfront.
|
|
77
|
+
*/
|
|
78
|
+
type KioskItem = {
|
|
79
|
+
/** The ID of the Item */
|
|
80
|
+
objectId: string;
|
|
81
|
+
/** The type of the Item */
|
|
82
|
+
type: string;
|
|
83
|
+
/** Whether the item is Locked (there must be a `Lock` Dynamic Field) */
|
|
84
|
+
isLocked: boolean;
|
|
85
|
+
/** Optional listing */
|
|
86
|
+
listing?: KioskListing;
|
|
87
|
+
/** The ID of the kiosk the item is placed in */
|
|
88
|
+
kioskId: string;
|
|
89
|
+
/** Optional Kiosk Data (core API object) */
|
|
90
|
+
data?: SuiClientTypes.Object;
|
|
91
|
+
};
|
|
92
|
+
/** The overview type returned from `getKiosk` */
|
|
93
|
+
type KioskExtensionOverview = {
|
|
94
|
+
/** The ID of the extension's DF */
|
|
95
|
+
objectId: string;
|
|
96
|
+
/** The inner type of the Extension */
|
|
97
|
+
type: string;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Hold the KioskExtension data
|
|
101
|
+
*/
|
|
102
|
+
type KioskExtension = KioskExtensionOverview & {
|
|
103
|
+
/** These fields are only there if we have `withExtensions` flag */
|
|
104
|
+
isEnabled: boolean;
|
|
105
|
+
permissions: string;
|
|
106
|
+
storageId: string;
|
|
107
|
+
storageSize: number;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Aggregated data from the Kiosk.
|
|
111
|
+
*/
|
|
112
|
+
type KioskData = {
|
|
113
|
+
items: KioskItem[];
|
|
114
|
+
itemIds: string[];
|
|
115
|
+
listingIds: string[];
|
|
116
|
+
kiosk?: Kiosk;
|
|
117
|
+
extensions: KioskExtensionOverview[];
|
|
118
|
+
};
|
|
119
|
+
type PagedKioskData = {
|
|
120
|
+
data: KioskData;
|
|
121
|
+
nextCursor: string | null | undefined;
|
|
122
|
+
hasNextPage: boolean;
|
|
123
|
+
};
|
|
124
|
+
type FetchKioskOptions = {
|
|
125
|
+
/** Include the base kiosk object, which includes the profits, the owner and the base fields. */
|
|
126
|
+
withKioskFields?: boolean;
|
|
127
|
+
/** Include the listing prices. */
|
|
128
|
+
withListingPrices?: boolean;
|
|
129
|
+
/** Include the objects for the Items in the kiosk. */
|
|
130
|
+
withObjects?: boolean;
|
|
131
|
+
};
|
|
132
|
+
type OwnedKiosks = {
|
|
133
|
+
kioskOwnerCaps: KioskOwnerCap[];
|
|
134
|
+
kioskIds: string[];
|
|
135
|
+
nextCursor: string | null;
|
|
136
|
+
hasNextPage: boolean;
|
|
137
|
+
};
|
|
138
|
+
type KioskOwnerCap = {
|
|
139
|
+
isPersonal?: boolean;
|
|
140
|
+
objectId: string;
|
|
141
|
+
kioskId: string;
|
|
142
|
+
digest: string;
|
|
143
|
+
version: string;
|
|
144
|
+
};
|
|
145
|
+
type PurchaseOptions = {
|
|
146
|
+
extraArgs?: Record<string, any>;
|
|
147
|
+
};
|
|
148
|
+
type ItemId = {
|
|
149
|
+
itemType: string;
|
|
150
|
+
itemId: string;
|
|
151
|
+
};
|
|
152
|
+
type ItemReference = {
|
|
153
|
+
itemType: string;
|
|
154
|
+
item: ObjectArgument;
|
|
155
|
+
};
|
|
156
|
+
type ItemValue = {
|
|
157
|
+
itemType: string;
|
|
158
|
+
item: TransactionArgument;
|
|
159
|
+
};
|
|
160
|
+
type Price = {
|
|
161
|
+
price: string | bigint;
|
|
162
|
+
};
|
|
163
|
+
//#endregion
|
|
164
|
+
export { FetchKioskOptions, ItemId, ItemReference, ItemValue, KIOSK_ITEM, KIOSK_LISTING, KIOSK_LOCK, KIOSK_MODULE, KIOSK_OWNER_CAP, KIOSK_PURCHASE_CAP, KIOSK_TYPE, Kiosk, KioskData, KioskExtension, KioskExtensionOverview, KioskItem, KioskListing, KioskOwnerCap, OwnedKiosks, PagedKioskData, Price, PurchaseAndResolvePoliciesResponse, PurchaseCap, PurchaseOptionalParams, PurchaseOptions };
|
|
165
|
+
//# sourceMappingURL=kiosk.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kiosk.d.mts","names":[],"sources":["../../src/types/kiosk.ts"],"sourcesContent":[],"mappings":";;;;;;cAWa,YAAA;AAAb;AAGa,cAAA,UAAA,GAAU,kFAAA;AAGvB;AAGa,cAHA,eAAA,GAGU,0FAAA;AAGvB;AAGa,cANA,UAAA,GAMU,iFAAA;AAGvB;AAKY,cAXC,aAAA,GAWI,oFAAA;AAWjB;AAWY,cA9BC,UAAA,GA8BD,iFACc;AAS1B;AASY,cA9CC,kBAAA,GA8CW,wFAAA;AAmBxB;AAgBA;AASA;AAWY,KAhGA,KAAA,GAgGS;EACb,EAAA,EAAA,MAAA;EAGC,OAAA,EAAA,MAAA;EACI,KAAA,EAAA,MAAA;EAAsB,SAAA,EAAA,MAAA;EAGvB,eAAA,EAAc,OAAA;AAM1B,CAAA;AASA;AAOA;AAQA;AAIY,KA/HA,WAAA,GA+HM;EACN,EAAA,EAAA,MAAA;EACA,OAAA,EAAA,MAAS;EACT,MAAA,EAAK,MAAA;;;;;;;KAvHL,kCAAA;QACL;;;;;;;;KASK,sBAAA;eACE;kBACG;;;;;;KAOL,YAAA;;;;;;;;;;;;;;;;;;KAmBA,SAAA;;;;;;;;YAQD;;;;SAIH,cAAA,CAAe;;;KAIX,sBAAA;;;;;;;;;KASA,cAAA,GAAiB;;;;;;;;;;KAWjB,SAAA;SACJ;;;UAGC;cACI;;KAGD,cAAA;QACL;;;;KAKK,iBAAA;;;;;;;;KASA,WAAA;kBACK;;;;;KAML,aAAA;;;;;;;KAQA,eAAA;cACC;;KAGD,MAAA;;;;KACA,aAAA;;QAA0C;;KAC1C,SAAA;;QAAsC;;KACtC,KAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SUI_FRAMEWORK_ADDRESS } from "@mysten/sui/utils";
|
|
2
|
+
|
|
3
|
+
//#region src/types/kiosk.ts
|
|
4
|
+
/** The Kiosk module. */
|
|
5
|
+
const KIOSK_MODULE = `${SUI_FRAMEWORK_ADDRESS}::kiosk`;
|
|
6
|
+
/** The Kiosk type. */
|
|
7
|
+
const KIOSK_TYPE = `${KIOSK_MODULE}::Kiosk`;
|
|
8
|
+
/** The Kiosk Owner Cap Type */
|
|
9
|
+
const KIOSK_OWNER_CAP = `${KIOSK_MODULE}::KioskOwnerCap`;
|
|
10
|
+
/** The Kiosk Item Type */
|
|
11
|
+
const KIOSK_ITEM = `${KIOSK_MODULE}::Item`;
|
|
12
|
+
/** The Kiosk Listing Type */
|
|
13
|
+
const KIOSK_LISTING = `${KIOSK_MODULE}::Listing`;
|
|
14
|
+
/** The Kiosk Lock Type */
|
|
15
|
+
const KIOSK_LOCK = `${KIOSK_MODULE}::Lock`;
|
|
16
|
+
/** The Kiosk PurchaseCap type */
|
|
17
|
+
const KIOSK_PURCHASE_CAP = `${KIOSK_MODULE}::PurchaseCap`;
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
export { KIOSK_ITEM, KIOSK_LISTING, KIOSK_LOCK, KIOSK_MODULE, KIOSK_OWNER_CAP, KIOSK_PURCHASE_CAP, KIOSK_TYPE };
|
|
21
|
+
//# sourceMappingURL=kiosk.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kiosk.mjs","names":[],"sources":["../../src/types/kiosk.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { TransactionArgument } from '@mysten/sui/transactions';\nimport { SuiClientTypes } from '@mysten/sui/client';\n\nimport type { ObjectArgument } from './index.js';\n\nimport { SUI_FRAMEWORK_ADDRESS } from '@mysten/sui/utils';\n\n/** The Kiosk module. */\nexport const KIOSK_MODULE = `${SUI_FRAMEWORK_ADDRESS}::kiosk`;\n\n/** The Kiosk type. */\nexport const KIOSK_TYPE = `${KIOSK_MODULE}::Kiosk`;\n\n/** The Kiosk Owner Cap Type */\nexport const KIOSK_OWNER_CAP = `${KIOSK_MODULE}::KioskOwnerCap`;\n\n/** The Kiosk Item Type */\nexport const KIOSK_ITEM = `${KIOSK_MODULE}::Item`;\n\n/** The Kiosk Listing Type */\nexport const KIOSK_LISTING = `${KIOSK_MODULE}::Listing`;\n\n/** The Kiosk Lock Type */\nexport const KIOSK_LOCK = `${KIOSK_MODULE}::Lock`;\n\n/** The Kiosk PurchaseCap type */\nexport const KIOSK_PURCHASE_CAP = `${KIOSK_MODULE}::PurchaseCap`;\n\n/**\n * The Kiosk object fields (for BCS queries).\n */\nexport type Kiosk = {\n\tid: string;\n\tprofits: string;\n\towner: string;\n\titemCount: number;\n\tallowExtensions: boolean;\n};\n\n/**\n * PurchaseCap object fields (for BCS queries).\n */\nexport type PurchaseCap = {\n\tid: string;\n\tkioskId: string;\n\titemId: string;\n\tminPrice: string;\n};\n\n/**\n * The response type of a successful purchase flow.\n * Returns the item, and a `canTransfer` param.\n */\nexport type PurchaseAndResolvePoliciesResponse = {\n\titem: TransactionArgument;\n\tcanTransfer: boolean;\n};\n\n/**\n * Optional parameters for `purchaseAndResolvePolicies` flow.\n * This gives us the chance to extend the function in further releases\n * without introducing more breaking changes.\n */\nexport type PurchaseOptionalParams = {\n\townedKiosk?: ObjectArgument;\n\townedKioskCap?: ObjectArgument;\n};\n\n/**\n * A dynamic field `Listing { ID, isExclusive }` attached to the Kiosk.\n * Holds a `u64` value - the price of the item.\n */\nexport type KioskListing = {\n\t/** The ID of the Item */\n\tobjectId: string;\n\t/**\n\t * Whether or not there's a `PurchaseCap` issued. `true` means that\n\t * the listing is controlled by some logic and can't be purchased directly.\n\t *\n\t * TODO: consider renaming the field for better indication.\n\t */\n\tisExclusive: boolean;\n\t/** The ID of the listing */\n\tlistingId: string;\n\tprice?: string;\n};\n\n/**\n * A dynamic field `Item { ID }` attached to the Kiosk.\n * Holds an Item `T`. The type of the item is known upfront.\n */\nexport type KioskItem = {\n\t/** The ID of the Item */\n\tobjectId: string;\n\t/** The type of the Item */\n\ttype: string;\n\t/** Whether the item is Locked (there must be a `Lock` Dynamic Field) */\n\tisLocked: boolean;\n\t/** Optional listing */\n\tlisting?: KioskListing;\n\t/** The ID of the kiosk the item is placed in */\n\tkioskId: string;\n\t/** Optional Kiosk Data (core API object) */\n\tdata?: SuiClientTypes.Object;\n};\n\n/** The overview type returned from `getKiosk` */\nexport type KioskExtensionOverview = {\n\t/** The ID of the extension's DF */\n\tobjectId: string;\n\t/** The inner type of the Extension */\n\ttype: string;\n};\n/**\n * Hold the KioskExtension data\n */\nexport type KioskExtension = KioskExtensionOverview & {\n\t/** These fields are only there if we have `withExtensions` flag */\n\tisEnabled: boolean;\n\tpermissions: string;\n\tstorageId: string;\n\tstorageSize: number;\n};\n\n/**\n * Aggregated data from the Kiosk.\n */\nexport type KioskData = {\n\titems: KioskItem[];\n\titemIds: string[];\n\tlistingIds: string[];\n\tkiosk?: Kiosk;\n\textensions: KioskExtensionOverview[]; // type will be defined on later versions of the SDK.\n};\n\nexport type PagedKioskData = {\n\tdata: KioskData;\n\tnextCursor: string | null | undefined;\n\thasNextPage: boolean;\n};\n\nexport type FetchKioskOptions = {\n\t/** Include the base kiosk object, which includes the profits, the owner and the base fields. */\n\twithKioskFields?: boolean;\n\t/** Include the listing prices. */\n\twithListingPrices?: boolean;\n\t/** Include the objects for the Items in the kiosk. */\n\twithObjects?: boolean;\n};\n\nexport type OwnedKiosks = {\n\tkioskOwnerCaps: KioskOwnerCap[];\n\tkioskIds: string[];\n\tnextCursor: string | null;\n\thasNextPage: boolean;\n};\n\nexport type KioskOwnerCap = {\n\tisPersonal?: boolean;\n\tobjectId: string;\n\tkioskId: string;\n\tdigest: string;\n\tversion: string;\n};\n\nexport type PurchaseOptions = {\n\textraArgs?: Record<string, any>;\n};\n\nexport type ItemId = { itemType: string; itemId: string };\nexport type ItemReference = { itemType: string; item: ObjectArgument };\nexport type ItemValue = { itemType: string; item: TransactionArgument };\nexport type Price = { price: string | bigint };\n"],"mappings":";;;;AAWA,MAAa,eAAe,GAAG,sBAAsB;;AAGrD,MAAa,aAAa,GAAG,aAAa;;AAG1C,MAAa,kBAAkB,GAAG,aAAa;;AAG/C,MAAa,aAAa,GAAG,aAAa;;AAG1C,MAAa,gBAAgB,GAAG,aAAa;;AAG7C,MAAa,aAAa,GAAG,aAAa;;AAG1C,MAAa,qBAAqB,GAAG,aAAa"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { KioskClient } from "../client/kiosk-client.mjs";
|
|
2
|
+
import { ObjectArgument } from "./index.mjs";
|
|
3
|
+
import { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
|
|
4
|
+
import { ObjectOwner } from "@mysten/sui/jsonRpc";
|
|
5
|
+
|
|
6
|
+
//#region src/types/transfer-policy.d.ts
|
|
7
|
+
/** The Transfer Policy module. */
|
|
8
|
+
declare const TRANSFER_POLICY_MODULE = "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy";
|
|
9
|
+
/** Name of the event emitted when a TransferPolicy for T is created. */
|
|
10
|
+
declare const TRANSFER_POLICY_CREATED_EVENT = "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicyCreated";
|
|
11
|
+
/** The Transfer Policy Type */
|
|
12
|
+
declare const TRANSFER_POLICY_TYPE = "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicy";
|
|
13
|
+
/** The Transfer Policy Cap Type */
|
|
14
|
+
declare const TRANSFER_POLICY_CAP_TYPE = "0x0000000000000000000000000000000000000000000000000000000000000002::transfer_policy::TransferPolicyCap";
|
|
15
|
+
/** The Kiosk Lock Rule */
|
|
16
|
+
declare const KIOSK_LOCK_RULE = "kiosk_lock_rule::Rule";
|
|
17
|
+
/** The Royalty rule */
|
|
18
|
+
declare const ROYALTY_RULE = "royalty_rule::Rule";
|
|
19
|
+
/**
|
|
20
|
+
* The Transfer Policy Cap in a consumable way.
|
|
21
|
+
*/
|
|
22
|
+
type TransferPolicyCap = {
|
|
23
|
+
policyId: string;
|
|
24
|
+
policyCapId: string;
|
|
25
|
+
type: string;
|
|
26
|
+
};
|
|
27
|
+
/** The `TransferPolicy` object */
|
|
28
|
+
type TransferPolicy = {
|
|
29
|
+
id: string;
|
|
30
|
+
type: string;
|
|
31
|
+
balance: string;
|
|
32
|
+
rules: string[];
|
|
33
|
+
owner: ObjectOwner;
|
|
34
|
+
};
|
|
35
|
+
/** Event emitted when a TransferPolicy is created. */
|
|
36
|
+
type TransferPolicyCreated = {
|
|
37
|
+
id: string;
|
|
38
|
+
};
|
|
39
|
+
type RuleResolvingParams = {
|
|
40
|
+
transaction: Transaction;
|
|
41
|
+
itemType: string;
|
|
42
|
+
itemId: string;
|
|
43
|
+
price: string;
|
|
44
|
+
policyId: ObjectArgument;
|
|
45
|
+
sellerKiosk: ObjectArgument;
|
|
46
|
+
kiosk: ObjectArgument;
|
|
47
|
+
kioskCap: ObjectArgument;
|
|
48
|
+
transferRequest: TransactionObjectArgument;
|
|
49
|
+
purchasedItem: TransactionObjectArgument;
|
|
50
|
+
packageId: string;
|
|
51
|
+
extraArgs: Record<string, any>;
|
|
52
|
+
kioskClient: KioskClient;
|
|
53
|
+
};
|
|
54
|
+
//#endregion
|
|
55
|
+
export { KIOSK_LOCK_RULE, ROYALTY_RULE, RuleResolvingParams, TRANSFER_POLICY_CAP_TYPE, TRANSFER_POLICY_CREATED_EVENT, TRANSFER_POLICY_MODULE, TRANSFER_POLICY_TYPE, TransferPolicy, TransferPolicyCap, TransferPolicyCreated };
|
|
56
|
+
//# sourceMappingURL=transfer-policy.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-policy.d.mts","names":[],"sources":["../../src/types/transfer-policy.ts"],"sourcesContent":[],"mappings":";;;;;;;cAYa,sBAAA;AAAb;AAGa,cAAA,6BAAA,GAA6B,4GAAA;AAG1C;AAGa,cAHA,oBAAA,GAGwB,qGAAA;AAGrC;AAGa,cANA,wBAAA,GAMY,wGAAA;AAKzB;AAOY,cAfC,eAAA,GAoBL,uBAAW;AAInB;AAQY,cA7BC,YAAA,GA6BkB,oBAAA;;;;AAOvB,KA/BI,iBAAA,GA+BJ;EACG,QAAA,EAAA,MAAA;EACO,WAAA,EAAA,MAAA;EACF,IAAA,EAAA,MAAA;CAEJ;;AACa,KA9Bb,cAAA,GA8Ba;;;;;SAzBjB;;;KAII,qBAAA;;;KAQA,mBAAA;eACE;;;;YAIH;eACG;SACN;YACG;mBACO;iBACF;;aAEJ;eACE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SUI_FRAMEWORK_ADDRESS } from "@mysten/sui/utils";
|
|
2
|
+
|
|
3
|
+
//#region src/types/transfer-policy.ts
|
|
4
|
+
/** The Transfer Policy module. */
|
|
5
|
+
const TRANSFER_POLICY_MODULE = `${SUI_FRAMEWORK_ADDRESS}::transfer_policy`;
|
|
6
|
+
/** Name of the event emitted when a TransferPolicy for T is created. */
|
|
7
|
+
const TRANSFER_POLICY_CREATED_EVENT = `${TRANSFER_POLICY_MODULE}::TransferPolicyCreated`;
|
|
8
|
+
/** The Transfer Policy Type */
|
|
9
|
+
const TRANSFER_POLICY_TYPE = `${TRANSFER_POLICY_MODULE}::TransferPolicy`;
|
|
10
|
+
/** The Transfer Policy Cap Type */
|
|
11
|
+
const TRANSFER_POLICY_CAP_TYPE = `${TRANSFER_POLICY_MODULE}::TransferPolicyCap`;
|
|
12
|
+
/** The Kiosk Lock Rule */
|
|
13
|
+
const KIOSK_LOCK_RULE = "kiosk_lock_rule::Rule";
|
|
14
|
+
/** The Royalty rule */
|
|
15
|
+
const ROYALTY_RULE = "royalty_rule::Rule";
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { KIOSK_LOCK_RULE, ROYALTY_RULE, TRANSFER_POLICY_CAP_TYPE, TRANSFER_POLICY_CREATED_EVENT, TRANSFER_POLICY_MODULE, TRANSFER_POLICY_TYPE };
|
|
19
|
+
//# sourceMappingURL=transfer-policy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-policy.mjs","names":[],"sources":["../../src/types/transfer-policy.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ObjectOwner } from '@mysten/sui/jsonRpc';\nimport type { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions';\n\nimport type { KioskClient } from '../client/kiosk-client.js';\nimport type { ObjectArgument } from './index.js';\n\nimport { SUI_FRAMEWORK_ADDRESS } from '@mysten/sui/utils';\n\n/** The Transfer Policy module. */\nexport const TRANSFER_POLICY_MODULE = `${SUI_FRAMEWORK_ADDRESS}::transfer_policy`;\n\n/** Name of the event emitted when a TransferPolicy for T is created. */\nexport const TRANSFER_POLICY_CREATED_EVENT = `${TRANSFER_POLICY_MODULE}::TransferPolicyCreated`;\n\n/** The Transfer Policy Type */\nexport const TRANSFER_POLICY_TYPE = `${TRANSFER_POLICY_MODULE}::TransferPolicy`;\n\n/** The Transfer Policy Cap Type */\nexport const TRANSFER_POLICY_CAP_TYPE = `${TRANSFER_POLICY_MODULE}::TransferPolicyCap`;\n\n/** The Kiosk Lock Rule */\nexport const KIOSK_LOCK_RULE = 'kiosk_lock_rule::Rule';\n\n/** The Royalty rule */\nexport const ROYALTY_RULE = 'royalty_rule::Rule';\n\n/**\n * The Transfer Policy Cap in a consumable way.\n */\nexport type TransferPolicyCap = {\n\tpolicyId: string;\n\tpolicyCapId: string;\n\ttype: string;\n};\n\n/** The `TransferPolicy` object */\nexport type TransferPolicy = {\n\tid: string;\n\ttype: string;\n\tbalance: string;\n\trules: string[];\n\towner: ObjectOwner;\n};\n\n/** Event emitted when a TransferPolicy is created. */\nexport type TransferPolicyCreated = {\n\tid: string;\n};\n\n// The object a Rule resolving function accepts\n// It can accept a set of fixed fields, that are part of every purchase flow as well any extra arguments to resolve custom policies!\n// Each rule resolving function should check that the key it's seeking is in the object\n// e.g. `if(!'my_key' in ruleParams!) throw new Error(\"Can't resolve that rule!\")`\nexport type RuleResolvingParams = {\n\ttransaction: Transaction;\n\titemType: string;\n\titemId: string;\n\tprice: string;\n\tpolicyId: ObjectArgument;\n\tsellerKiosk: ObjectArgument;\n\tkiosk: ObjectArgument;\n\tkioskCap: ObjectArgument;\n\ttransferRequest: TransactionObjectArgument;\n\tpurchasedItem: TransactionObjectArgument;\n\tpackageId: string;\n\textraArgs: Record<string, any>; // extraParams contains more possible {key, values} to pass for custom rules.\n\tkioskClient: KioskClient;\n};\n"],"mappings":";;;;AAYA,MAAa,yBAAyB,GAAG,sBAAsB;;AAG/D,MAAa,gCAAgC,GAAG,uBAAuB;;AAGvE,MAAa,uBAAuB,GAAG,uBAAuB;;AAG9D,MAAa,2BAA2B,GAAG,uBAAuB;;AAGlE,MAAa,kBAAkB;;AAG/B,MAAa,eAAe"}
|
package/dist/utils.d.mts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Kiosk, KioskData, KioskListing } from "./types/kiosk.mjs";
|
|
2
|
+
import "./types/index.mjs";
|
|
3
|
+
import { PaginationArguments } from "@mysten/sui/jsonRpc";
|
|
4
|
+
import { ClientWithCoreApi, SuiClientTypes } from "@mysten/sui/client";
|
|
5
|
+
|
|
6
|
+
//#region src/utils.d.ts
|
|
7
|
+
type DynamicFieldInfo = SuiClientTypes.ListDynamicFieldsResponse['dynamicFields'][number];
|
|
8
|
+
declare function getKioskObject(client: ClientWithCoreApi, id: string): Promise<Kiosk>;
|
|
9
|
+
declare function extractKioskData(data: DynamicFieldInfo[], listings: KioskListing[], lockedItemIds: string[], kioskId: string): KioskData;
|
|
10
|
+
/**
|
|
11
|
+
* A helper that attaches the listing prices to kiosk listings.
|
|
12
|
+
*/
|
|
13
|
+
declare function attachListingsAndPrices(kioskData: KioskData, listings: KioskListing[], listingObjects: SuiClientTypes.Object[]): void;
|
|
14
|
+
/**
|
|
15
|
+
* A helper that attaches object data to kiosk items.
|
|
16
|
+
* Works with core API objects that contain BCS content.
|
|
17
|
+
*/
|
|
18
|
+
declare function attachObjects(kioskData: KioskData, objects: SuiClientTypes.Object[]): void;
|
|
19
|
+
/**
|
|
20
|
+
* A Helper to attach locked state to items in Kiosk Data.
|
|
21
|
+
*/
|
|
22
|
+
declare function attachLockedItems(kioskData: KioskData, lockedItemIds: string[]): void;
|
|
23
|
+
/**
|
|
24
|
+
* A helper to fetch all dynamic field pages.
|
|
25
|
+
* We need that to fetch the kiosk DFs consistently, until we have
|
|
26
|
+
* RPC calls that allow filtering of Type / batch fetching of spec
|
|
27
|
+
*/
|
|
28
|
+
declare function getAllDynamicFields(client: ClientWithCoreApi, parentId: string, pagination: PaginationArguments<string>): Promise<DynamicFieldInfo[]>;
|
|
29
|
+
/**
|
|
30
|
+
* A helper to fetch all objects that works with pagination.
|
|
31
|
+
* It will fetch all objects in the array, and limit it to 50/request.
|
|
32
|
+
* Requests are sent using `Promise.all`.
|
|
33
|
+
*/
|
|
34
|
+
declare function getAllObjects(client: ClientWithCoreApi, ids: string[]): Promise<SuiClientTypes.Object[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Converts a number to basis points.
|
|
37
|
+
* Supports up to 2 decimal points.
|
|
38
|
+
* E.g 9.95 -> 995
|
|
39
|
+
* @param percentage A percentage amount in the range [0, 100] including decimals.
|
|
40
|
+
*/
|
|
41
|
+
declare function percentageToBasisPoints(percentage: number): number;
|
|
42
|
+
declare function getNormalizedRuleType(rule: string): string;
|
|
43
|
+
//#endregion
|
|
44
|
+
export { DynamicFieldInfo, attachListingsAndPrices, attachLockedItems, attachObjects, extractKioskData, getAllDynamicFields, getAllObjects, getKioskObject, getNormalizedRuleType, percentageToBasisPoints };
|
|
45
|
+
//# sourceMappingURL=utils.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.mts","names":[],"sources":["../src/utils.ts"],"sourcesContent":[],"mappings":";;;;;;KAcY,gBAAA,GAAmB,cAAA,CAAe;iBAExB,cAAA,SAAuB,gCAAgC,QAAQ;iBAsBrE,gBAAA,OACT,8BACI,2DAGR;AA7BH;AAEA;;AAAqF,iBAyFrE,uBAAA,CAzFqE,SAAA,EA0FzE,SA1FyE,EAAA,QAAA,EA2F1E,YA3F0E,EAAA,EAAA,cAAA,EA4FpE,cAAA,CAAe,MA5FqD,EAAA,CAAA,EAAA,IAAA;;;AAsBrF;;AAEW,iBAmGK,aAAA,CAnGL,SAAA,EAmG8B,SAnG9B,EAAA,OAAA,EAmGkD,cAAA,CAAe,MAnGjE,EAAA,CAAA,EAAA,IAAA;;;AAiEX;AACY,iBAkDI,iBAAA,CAlDJ,SAAA,EAkDiC,SAlDjC,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA;;;;AAiCZ;AAiBA;AAqBsB,iBAAA,mBAAA,CAAmB,MAAA,EAChC,iBADgC,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAG5B,mBAH4B,CAAA,MAAA,CAAA,CAAA,EAItC,OAJsC,CAI9B,gBAJ8B,EAAA,CAAA;;;;;;AA8BnB,iBAAA,aAAA,CAAa,MAAA,EAC1B,iBAD0B,EAAA,GAAA,EAAA,MAAA,EAAA,CAAA,EAGhC,OAHgC,CAGxB,cAAA,CAAe,MAHS,EAAA,CAAA;;;;;AA6BnC;AAOA;iBAPgB,uBAAA;iBAOA,qBAAA"}
|
package/dist/utils.mjs
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { Kiosk, Listing, Lock } from "./contracts/0x2/kiosk.mjs";
|
|
2
|
+
import { bcs } from "@mysten/sui/bcs";
|
|
3
|
+
import { normalizeStructTag, normalizeSuiAddress, parseStructTag } from "@mysten/sui/utils";
|
|
4
|
+
import { chunk } from "@mysten/utils";
|
|
5
|
+
|
|
6
|
+
//#region src/utils.ts
|
|
7
|
+
const DEFAULT_QUERY_LIMIT = 50;
|
|
8
|
+
async function getKioskObject(client, id) {
|
|
9
|
+
const { object } = await client.core.getObject({
|
|
10
|
+
objectId: id,
|
|
11
|
+
include: { content: true }
|
|
12
|
+
});
|
|
13
|
+
if (!object.content) throw new Error(`Kiosk ${id} not found or has no content`);
|
|
14
|
+
const parsed = Kiosk.parse(object.content);
|
|
15
|
+
return {
|
|
16
|
+
id: parsed.id,
|
|
17
|
+
profits: parsed.profits.value.toString(),
|
|
18
|
+
owner: parsed.owner,
|
|
19
|
+
itemCount: parsed.item_count,
|
|
20
|
+
allowExtensions: parsed.allow_extensions
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function extractKioskData(data, listings, lockedItemIds, kioskId) {
|
|
24
|
+
return data.reduce((acc, val) => {
|
|
25
|
+
const type = val.name.type;
|
|
26
|
+
const parsedType = parseStructTag(type);
|
|
27
|
+
const baseType = `${normalizeSuiAddress(parsedType.address)}::${parsedType.module}::${parsedType.name}`;
|
|
28
|
+
if (baseType === "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Item") {
|
|
29
|
+
acc.itemIds.push(val.fieldId);
|
|
30
|
+
acc.items.push({
|
|
31
|
+
objectId: val.fieldId,
|
|
32
|
+
type: val.valueType,
|
|
33
|
+
isLocked: false,
|
|
34
|
+
kioskId
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (baseType === "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Listing") {
|
|
38
|
+
const parsed = Listing.parse(val.name.bcs);
|
|
39
|
+
acc.listingIds.push(val.fieldId);
|
|
40
|
+
listings.push({
|
|
41
|
+
objectId: parsed.id,
|
|
42
|
+
listingId: val.fieldId,
|
|
43
|
+
isExclusive: parsed.is_exclusive
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
if (baseType === "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Lock") lockedItemIds?.push(Lock.parse(val.name.bcs).id);
|
|
47
|
+
if (baseType === "0x0000000000000000000000000000000000000000000000000000000000000002::kiosk_extension::ExtensionKey") acc.extensions.push({
|
|
48
|
+
objectId: val.fieldId,
|
|
49
|
+
type: normalizeStructTag(parsedType.typeParams[0])
|
|
50
|
+
});
|
|
51
|
+
return acc;
|
|
52
|
+
}, {
|
|
53
|
+
items: [],
|
|
54
|
+
itemIds: [],
|
|
55
|
+
listingIds: [],
|
|
56
|
+
extensions: []
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* A helper that attaches the listing prices to kiosk listings.
|
|
61
|
+
*/
|
|
62
|
+
function attachListingsAndPrices(kioskData, listings, listingObjects) {
|
|
63
|
+
const itemListings = listings.reduce((acc, item, idx) => {
|
|
64
|
+
acc[item.objectId] = { ...item };
|
|
65
|
+
if (listingObjects.length === 0) return acc;
|
|
66
|
+
const obj = listingObjects[idx];
|
|
67
|
+
if (obj.content) acc[item.objectId].price = bcs.u64().parse(obj.content).toString();
|
|
68
|
+
return acc;
|
|
69
|
+
}, {});
|
|
70
|
+
kioskData.items.forEach((item) => {
|
|
71
|
+
item.listing = itemListings[item.objectId] || void 0;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* A helper that attaches object data to kiosk items.
|
|
76
|
+
* Works with core API objects that contain BCS content.
|
|
77
|
+
*/
|
|
78
|
+
function attachObjects(kioskData, objects) {
|
|
79
|
+
const mapping = objects.reduce((acc, obj) => {
|
|
80
|
+
acc[obj.objectId] = obj;
|
|
81
|
+
return acc;
|
|
82
|
+
}, {});
|
|
83
|
+
kioskData.items.forEach((item) => {
|
|
84
|
+
item.data = mapping[item.objectId] || void 0;
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* A Helper to attach locked state to items in Kiosk Data.
|
|
89
|
+
*/
|
|
90
|
+
function attachLockedItems(kioskData, lockedItemIds) {
|
|
91
|
+
const lockedStatuses = lockedItemIds.reduce((acc, item) => {
|
|
92
|
+
acc[item] = true;
|
|
93
|
+
return acc;
|
|
94
|
+
}, {});
|
|
95
|
+
kioskData.items.forEach((item) => {
|
|
96
|
+
item.isLocked = lockedStatuses[item.objectId] || false;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* A helper to fetch all dynamic field pages.
|
|
101
|
+
* We need that to fetch the kiosk DFs consistently, until we have
|
|
102
|
+
* RPC calls that allow filtering of Type / batch fetching of spec
|
|
103
|
+
*/
|
|
104
|
+
async function getAllDynamicFields(client, parentId, pagination) {
|
|
105
|
+
let hasNextPage = true;
|
|
106
|
+
let cursor = null;
|
|
107
|
+
const data = [];
|
|
108
|
+
while (hasNextPage) {
|
|
109
|
+
const result = await client.core.listDynamicFields({
|
|
110
|
+
parentId,
|
|
111
|
+
limit: pagination.limit || void 0,
|
|
112
|
+
cursor
|
|
113
|
+
});
|
|
114
|
+
data.push(...result.dynamicFields);
|
|
115
|
+
hasNextPage = result.hasNextPage;
|
|
116
|
+
cursor = result.cursor;
|
|
117
|
+
}
|
|
118
|
+
return data;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* A helper to fetch all objects that works with pagination.
|
|
122
|
+
* It will fetch all objects in the array, and limit it to 50/request.
|
|
123
|
+
* Requests are sent using `Promise.all`.
|
|
124
|
+
*/
|
|
125
|
+
async function getAllObjects(client, ids) {
|
|
126
|
+
const chunks = chunk(ids, DEFAULT_QUERY_LIMIT);
|
|
127
|
+
return (await Promise.all(chunks.map(async (objectIds) => {
|
|
128
|
+
const { objects } = await client.core.getObjects({
|
|
129
|
+
objectIds,
|
|
130
|
+
include: {
|
|
131
|
+
content: true,
|
|
132
|
+
previousTransaction: true
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
return objects.filter((obj) => !(obj instanceof Error));
|
|
136
|
+
}))).flat();
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Converts a number to basis points.
|
|
140
|
+
* Supports up to 2 decimal points.
|
|
141
|
+
* E.g 9.95 -> 995
|
|
142
|
+
* @param percentage A percentage amount in the range [0, 100] including decimals.
|
|
143
|
+
*/
|
|
144
|
+
function percentageToBasisPoints(percentage) {
|
|
145
|
+
if (percentage < 0 || percentage > 100) throw new Error("Percentage needs to be in the [0,100] range.");
|
|
146
|
+
return Math.ceil(percentage * 100);
|
|
147
|
+
}
|
|
148
|
+
function getNormalizedRuleType(rule) {
|
|
149
|
+
const normalizedRuleAddress = rule.split("::");
|
|
150
|
+
normalizedRuleAddress[0] = normalizeSuiAddress(normalizedRuleAddress[0]);
|
|
151
|
+
return normalizedRuleAddress.join("::");
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
//#endregion
|
|
155
|
+
export { attachListingsAndPrices, attachLockedItems, attachObjects, extractKioskData, getAllDynamicFields, getAllObjects, getKioskObject, getNormalizedRuleType, percentageToBasisPoints };
|
|
156
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":["KioskStruct"],"sources":["../src/utils.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/sui/bcs';\nimport { PaginationArguments } from '@mysten/sui/jsonRpc';\nimport type { ClientWithCoreApi, SuiClientTypes } from '@mysten/sui/client';\nimport { normalizeStructTag, normalizeSuiAddress, parseStructTag } from '@mysten/sui/utils';\nimport { chunk } from '@mysten/utils';\n\nimport { Listing, Lock, Kiosk as KioskStruct } from './contracts/0x2/kiosk.js';\nimport type { Kiosk, KioskData, KioskListing } from './types/index.js';\n\nconst DEFAULT_QUERY_LIMIT = 50;\n\nexport type DynamicFieldInfo = SuiClientTypes.ListDynamicFieldsResponse['dynamicFields'][number];\n\nexport async function getKioskObject(client: ClientWithCoreApi, id: string): Promise<Kiosk> {\n\tconst { object } = await client.core.getObject({\n\t\tobjectId: id,\n\t\tinclude: { content: true },\n\t});\n\n\tif (!object.content) {\n\t\tthrow new Error(`Kiosk ${id} not found or has no content`);\n\t}\n\n\tconst parsed = KioskStruct.parse(object.content);\n\n\treturn {\n\t\tid: parsed.id,\n\t\tprofits: parsed.profits.value.toString(),\n\t\towner: parsed.owner,\n\t\titemCount: parsed.item_count,\n\t\tallowExtensions: parsed.allow_extensions,\n\t};\n}\n\n// helper to extract kiosk data from dynamic fields.\nexport function extractKioskData(\n\tdata: DynamicFieldInfo[],\n\tlistings: KioskListing[],\n\tlockedItemIds: string[],\n\tkioskId: string,\n): KioskData {\n\treturn data.reduce<KioskData>(\n\t\t(acc: KioskData, val: DynamicFieldInfo) => {\n\t\t\tconst type = val.name.type;\n\n\t\t\tconst parsedType = parseStructTag(type);\n\t\t\tconst baseType = `${normalizeSuiAddress(parsedType.address)}::${parsedType.module}::${parsedType.name}`;\n\n\t\t\tif (\n\t\t\t\tbaseType ===\n\t\t\t\t'0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Item'\n\t\t\t) {\n\t\t\t\tacc.itemIds.push(val.fieldId);\n\t\t\t\tacc.items.push({\n\t\t\t\t\tobjectId: val.fieldId,\n\t\t\t\t\ttype: val.valueType,\n\t\t\t\t\tisLocked: false,\n\t\t\t\t\tkioskId,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tbaseType ===\n\t\t\t\t'0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Listing'\n\t\t\t) {\n\t\t\t\tconst parsed = Listing.parse(val.name.bcs);\n\n\t\t\t\tacc.listingIds.push(val.fieldId);\n\t\t\t\tlistings.push({\n\t\t\t\t\tobjectId: parsed.id,\n\t\t\t\t\tlistingId: val.fieldId,\n\t\t\t\t\tisExclusive: parsed.is_exclusive,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tbaseType ===\n\t\t\t\t'0x0000000000000000000000000000000000000000000000000000000000000002::kiosk::Lock'\n\t\t\t) {\n\t\t\t\tlockedItemIds?.push(Lock.parse(val.name.bcs).id);\n\t\t\t}\n\n\t\t\t// Check for ExtensionKey type\n\t\t\tif (\n\t\t\t\tbaseType ===\n\t\t\t\t'0x0000000000000000000000000000000000000000000000000000000000000002::kiosk_extension::ExtensionKey'\n\t\t\t) {\n\t\t\t\tacc.extensions.push({\n\t\t\t\t\tobjectId: val.fieldId,\n\t\t\t\t\ttype: normalizeStructTag(parsedType.typeParams[0]),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{ items: [], itemIds: [], listingIds: [], extensions: [] },\n\t);\n}\n\n/**\n * A helper that attaches the listing prices to kiosk listings.\n */\nexport function attachListingsAndPrices(\n\tkioskData: KioskData,\n\tlistings: KioskListing[],\n\tlistingObjects: SuiClientTypes.Object[],\n) {\n\tconst itemListings = listings.reduce<Record<string, KioskListing>>(\n\t\t(acc: Record<string, KioskListing>, item, idx) => {\n\t\t\tacc[item.objectId] = { ...item };\n\n\t\t\t// return in case we don't have any listing objects.\n\t\t\t// that's the case when we don't have the `listingPrices` included.\n\t\t\tif (listingObjects.length === 0) return acc;\n\n\t\t\tconst obj = listingObjects[idx];\n\n\t\t\t// Parse BCS content to extract the price (u64 value)\n\t\t\tif (obj.content) {\n\t\t\t\tacc[item.objectId].price = bcs.u64().parse(obj.content).toString();\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tkioskData.items.forEach((item) => {\n\t\titem.listing = itemListings[item.objectId] || undefined;\n\t});\n}\n\n/**\n * A helper that attaches object data to kiosk items.\n * Works with core API objects that contain BCS content.\n */\nexport function attachObjects(kioskData: KioskData, objects: SuiClientTypes.Object[]) {\n\tconst mapping = objects.reduce<Record<string, SuiClientTypes.Object>>(\n\t\t(acc: Record<string, SuiClientTypes.Object>, obj) => {\n\t\t\tacc[obj.objectId] = obj;\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tkioskData.items.forEach((item) => {\n\t\titem.data = mapping[item.objectId] || undefined;\n\t});\n}\n\n/**\n * A Helper to attach locked state to items in Kiosk Data.\n */\nexport function attachLockedItems(kioskData: KioskData, lockedItemIds: string[]) {\n\t// map lock status in an array of type { item_id: true }\n\tconst lockedStatuses = lockedItemIds.reduce<Record<string, boolean>>(\n\t\t(acc: Record<string, boolean>, item: string) => {\n\t\t\tacc[item] = true;\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\t// parse lockedItemIds and attach their locked status.\n\tkioskData.items.forEach((item) => {\n\t\titem.isLocked = lockedStatuses[item.objectId] || false;\n\t});\n}\n\n/**\n * A helper to fetch all dynamic field pages.\n * We need that to fetch the kiosk DFs consistently, until we have\n * RPC calls that allow filtering of Type / batch fetching of spec\n */\nexport async function getAllDynamicFields(\n\tclient: ClientWithCoreApi,\n\tparentId: string,\n\tpagination: PaginationArguments<string>,\n): Promise<DynamicFieldInfo[]> {\n\tlet hasNextPage = true;\n\tlet cursor: string | null = null;\n\tconst data: DynamicFieldInfo[] = [];\n\n\twhile (hasNextPage) {\n\t\tconst result = await client.core.listDynamicFields({\n\t\t\tparentId,\n\t\t\tlimit: pagination.limit || undefined,\n\t\t\tcursor,\n\t\t});\n\n\t\tdata.push(...result.dynamicFields);\n\n\t\thasNextPage = result.hasNextPage;\n\t\tcursor = result.cursor;\n\t}\n\n\treturn data;\n}\n\n/**\n * A helper to fetch all objects that works with pagination.\n * It will fetch all objects in the array, and limit it to 50/request.\n * Requests are sent using `Promise.all`.\n */\nexport async function getAllObjects(\n\tclient: ClientWithCoreApi,\n\tids: string[],\n): Promise<SuiClientTypes.Object[]> {\n\tconst chunks = chunk(ids, DEFAULT_QUERY_LIMIT);\n\n\tconst results = await Promise.all(\n\t\tchunks.map(async (objectIds) => {\n\t\t\tconst { objects } = await client.core.getObjects({\n\t\t\t\tobjectIds,\n\t\t\t\tinclude: {\n\t\t\t\t\tcontent: true,\n\t\t\t\t\tpreviousTransaction: true,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn objects.filter((obj): obj is SuiClientTypes.Object => !(obj instanceof Error));\n\t\t}),\n\t);\n\n\treturn results.flat();\n}\n\n/**\n * Converts a number to basis points.\n * Supports up to 2 decimal points.\n * E.g 9.95 -> 995\n * @param percentage A percentage amount in the range [0, 100] including decimals.\n */\nexport function percentageToBasisPoints(percentage: number) {\n\tif (percentage < 0 || percentage > 100)\n\t\tthrow new Error('Percentage needs to be in the [0,100] range.');\n\treturn Math.ceil(percentage * 100);\n}\n\n// Normalizes the packageId part of a rule's type.\nexport function getNormalizedRuleType(rule: string) {\n\tconst normalizedRuleAddress = rule.split('::');\n\tnormalizedRuleAddress[0] = normalizeSuiAddress(normalizedRuleAddress[0]);\n\treturn normalizedRuleAddress.join('::');\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,16 +2,15 @@
|
|
|
2
2
|
"name": "@mysten/kiosk",
|
|
3
3
|
"author": "Mysten Labs <build@mystenlabs.com>",
|
|
4
4
|
"description": "Sui Kiosk library",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "1.0.1",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
|
-
"type": "
|
|
8
|
-
"main": "./dist/
|
|
9
|
-
"
|
|
10
|
-
"types": "./dist/cjs/index.d.ts",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/index.mjs",
|
|
9
|
+
"types": "./dist/index.d.mts",
|
|
11
10
|
"exports": {
|
|
12
11
|
".": {
|
|
13
|
-
"
|
|
14
|
-
"
|
|
12
|
+
"types": "./dist/index.d.mts",
|
|
13
|
+
"import": "./dist/index.mjs"
|
|
15
14
|
}
|
|
16
15
|
},
|
|
17
16
|
"sideEffects": false,
|
|
@@ -23,30 +22,42 @@
|
|
|
23
22
|
"engines": {
|
|
24
23
|
"node": ">=18"
|
|
25
24
|
},
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "git+https://github.com/MystenLabs/ts-sdks.git"
|
|
28
|
+
},
|
|
29
|
+
"bugs": {
|
|
30
|
+
"url": "https://github.com/MystenLabs/ts-sdks/issues/new"
|
|
31
|
+
},
|
|
26
32
|
"dependencies": {
|
|
27
|
-
"@mysten/
|
|
28
|
-
"@mysten/utils": "0.
|
|
33
|
+
"@mysten/bcs": "^2.0.1",
|
|
34
|
+
"@mysten/utils": "^0.3.0"
|
|
29
35
|
},
|
|
30
36
|
"devDependencies": {
|
|
31
|
-
"cross-env": "^
|
|
37
|
+
"cross-env": "^10.1.0",
|
|
32
38
|
"tmp": "^0.2.5",
|
|
33
39
|
"ts-retry-promise": "^0.8.1",
|
|
34
|
-
"typescript": "^5.9.
|
|
35
|
-
"vite": "^7.1
|
|
36
|
-
"vitest": "^
|
|
37
|
-
"wait-on": "^9.0.
|
|
38
|
-
"@mysten/
|
|
40
|
+
"typescript": "^5.9.3",
|
|
41
|
+
"vite": "^7.3.1",
|
|
42
|
+
"vitest": "^4.0.17",
|
|
43
|
+
"wait-on": "^9.0.3",
|
|
44
|
+
"@mysten/codegen": "^0.6.0",
|
|
45
|
+
"@mysten/sui": "^2.0.1"
|
|
46
|
+
},
|
|
47
|
+
"peerDependencies": {
|
|
48
|
+
"@mysten/sui": "^2.0.1"
|
|
39
49
|
},
|
|
40
50
|
"scripts": {
|
|
41
|
-
"build": "
|
|
51
|
+
"build": "rm -rf dist && tsc --noEmit && tsdown",
|
|
52
|
+
"codegen": "sui-ts-codegen generate && pnpm lint:fix",
|
|
42
53
|
"test": "echo 'No unit tests for kiosk SDK'",
|
|
43
54
|
"pre-commit": "pnpm prettier:fix && pnpm lint && pnpm build",
|
|
44
55
|
"prettier:check": "prettier -c --ignore-unknown .",
|
|
45
56
|
"prettier:fix": "prettier -w --ignore-unknown .",
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"lint": "pnpm run
|
|
49
|
-
"lint:fix": "pnpm run
|
|
57
|
+
"oxlint:check": "oxlint .",
|
|
58
|
+
"oxlint:fix": "oxlint --fix",
|
|
59
|
+
"lint": "pnpm run oxlint:check && pnpm run prettier:check",
|
|
60
|
+
"lint:fix": "pnpm run oxlint:fix && pnpm run prettier:fix",
|
|
50
61
|
"test:e2e": "vitest run e2e"
|
|
51
62
|
}
|
|
52
63
|
}
|