@mysten/kiosk 0.8.9 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/cjs/bcs.d.ts +40 -2
- package/dist/cjs/bcs.js +22 -19
- package/dist/cjs/bcs.js.map +2 -2
- package/dist/cjs/client/kiosk-client.d.ts +1 -1
- package/dist/cjs/client/kiosk-client.js.map +1 -1
- package/dist/cjs/client/kiosk-transaction.d.ts +8 -6
- package/dist/cjs/client/kiosk-transaction.js +41 -54
- package/dist/cjs/client/kiosk-transaction.js.map +2 -2
- package/dist/cjs/client/tp-transaction.d.ts +6 -4
- package/dist/cjs/client/tp-transaction.js +24 -19
- package/dist/cjs/client/tp-transaction.js.map +2 -2
- package/dist/cjs/query/kiosk.d.ts +1 -1
- package/dist/cjs/query/kiosk.js +1 -1
- package/dist/cjs/query/kiosk.js.map +1 -1
- package/dist/cjs/query/transfer-policy.d.ts +2 -1
- package/dist/cjs/query/transfer-policy.js +3 -2
- package/dist/cjs/query/transfer-policy.js.map +3 -3
- package/dist/cjs/tx/kiosk.d.ts +14 -14
- package/dist/cjs/tx/kiosk.js +1 -1
- package/dist/cjs/tx/kiosk.js.map +2 -2
- package/dist/cjs/tx/personal-kiosk.d.ts +3 -3
- package/dist/cjs/tx/personal-kiosk.js.map +1 -1
- package/dist/cjs/tx/rules/attach.d.ts +5 -5
- package/dist/cjs/tx/rules/attach.js.map +1 -1
- package/dist/cjs/tx/rules/resolve.js +16 -16
- package/dist/cjs/tx/rules/resolve.js.map +2 -2
- package/dist/cjs/tx/transfer-policy.d.ts +7 -7
- package/dist/cjs/tx/transfer-policy.js +1 -1
- package/dist/cjs/tx/transfer-policy.js.map +1 -1
- package/dist/cjs/types/index.d.ts +2 -2
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/kiosk.d.ts +2 -2
- package/dist/cjs/types/kiosk.js.map +1 -1
- package/dist/cjs/types/transfer-policy.d.ts +5 -3
- package/dist/cjs/types/transfer-policy.js.map +1 -1
- package/dist/cjs/utils.d.ts +1 -1
- package/dist/cjs/utils.js +2 -2
- package/dist/cjs/utils.js.map +2 -2
- package/dist/esm/bcs.d.ts +40 -2
- package/dist/esm/bcs.js +22 -19
- package/dist/esm/bcs.js.map +2 -2
- package/dist/esm/client/kiosk-client.d.ts +1 -1
- package/dist/esm/client/kiosk-client.js.map +1 -1
- package/dist/esm/client/kiosk-transaction.d.ts +8 -6
- package/dist/esm/client/kiosk-transaction.js +41 -54
- package/dist/esm/client/kiosk-transaction.js.map +2 -2
- package/dist/esm/client/tp-transaction.d.ts +6 -4
- package/dist/esm/client/tp-transaction.js +24 -19
- package/dist/esm/client/tp-transaction.js.map +2 -2
- package/dist/esm/query/kiosk.d.ts +1 -1
- package/dist/esm/query/kiosk.js +1 -1
- package/dist/esm/query/kiosk.js.map +1 -1
- package/dist/esm/query/transfer-policy.d.ts +2 -1
- package/dist/esm/query/transfer-policy.js +4 -3
- package/dist/esm/query/transfer-policy.js.map +2 -2
- package/dist/esm/tx/kiosk.d.ts +14 -14
- package/dist/esm/tx/kiosk.js +1 -1
- package/dist/esm/tx/kiosk.js.map +2 -2
- package/dist/esm/tx/personal-kiosk.d.ts +3 -3
- package/dist/esm/tx/personal-kiosk.js.map +1 -1
- package/dist/esm/tx/rules/attach.d.ts +5 -5
- package/dist/esm/tx/rules/attach.js.map +1 -1
- package/dist/esm/tx/rules/resolve.js +16 -16
- package/dist/esm/tx/rules/resolve.js.map +2 -2
- package/dist/esm/tx/transfer-policy.d.ts +7 -7
- package/dist/esm/tx/transfer-policy.js +1 -1
- package/dist/esm/tx/transfer-policy.js.map +1 -1
- package/dist/esm/types/index.d.ts +2 -2
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/kiosk.d.ts +2 -2
- package/dist/esm/types/kiosk.js.map +1 -1
- package/dist/esm/types/transfer-policy.d.ts +5 -3
- package/dist/esm/types/transfer-policy.js.map +1 -1
- package/dist/esm/utils.d.ts +1 -1
- package/dist/esm/utils.js +9 -4
- package/dist/esm/utils.js.map +2 -2
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/bcs.ts +18 -20
- package/src/client/kiosk-client.ts +1 -1
- package/src/client/kiosk-transaction.ts +50 -60
- package/src/client/tp-transaction.ts +29 -22
- package/src/query/kiosk.ts +2 -2
- package/src/query/transfer-policy.ts +6 -4
- package/src/tx/kiosk.ts +16 -16
- package/src/tx/personal-kiosk.ts +3 -3
- package/src/tx/rules/attach.ts +5 -5
- package/src/tx/rules/resolve.ts +16 -16
- package/src/tx/transfer-policy.ts +9 -9
- package/src/types/index.ts +2 -2
- package/src/types/kiosk.ts +2 -2
- package/src/types/transfer-policy.ts +5 -3
- package/src/utils.ts +11 -6
package/src/tx/rules/attach.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// Copyright (c) Mysten Labs, Inc.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import type {
|
|
4
|
+
import type { Transaction } from '@mysten/sui/transactions';
|
|
5
5
|
|
|
6
6
|
import type { ObjectArgument } from '../../types/index.js';
|
|
7
7
|
|
|
8
8
|
export function attachKioskLockRuleTx(
|
|
9
|
-
tx:
|
|
9
|
+
tx: Transaction,
|
|
10
10
|
type: string,
|
|
11
11
|
policy: ObjectArgument,
|
|
12
12
|
policyCap: ObjectArgument,
|
|
@@ -20,7 +20,7 @@ export function attachKioskLockRuleTx(
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export function attachRoyaltyRuleTx(
|
|
23
|
-
tx:
|
|
23
|
+
tx: Transaction,
|
|
24
24
|
type: string,
|
|
25
25
|
policy: ObjectArgument,
|
|
26
26
|
policyCap: ObjectArgument,
|
|
@@ -44,7 +44,7 @@ export function attachRoyaltyRuleTx(
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
export function attachPersonalKioskRuleTx(
|
|
47
|
-
tx:
|
|
47
|
+
tx: Transaction,
|
|
48
48
|
type: string,
|
|
49
49
|
policy: ObjectArgument,
|
|
50
50
|
policyCap: ObjectArgument,
|
|
@@ -58,7 +58,7 @@ export function attachPersonalKioskRuleTx(
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
export function attachFloorPriceRuleTx(
|
|
61
|
-
tx:
|
|
61
|
+
tx: Transaction,
|
|
62
62
|
type: string,
|
|
63
63
|
policy: ObjectArgument,
|
|
64
64
|
policyCap: ObjectArgument,
|
package/src/tx/rules/resolve.ts
CHANGED
|
@@ -8,22 +8,22 @@ import { lock } from '../kiosk.js';
|
|
|
8
8
|
* A helper to resolve the royalty rule.
|
|
9
9
|
*/
|
|
10
10
|
export function resolveRoyaltyRule(params: RuleResolvingParams) {
|
|
11
|
-
const {
|
|
11
|
+
const { transaction: tx, itemType, price, packageId, transferRequest, policyId } = params;
|
|
12
12
|
|
|
13
|
-
const policyObj =
|
|
13
|
+
const policyObj = tx.object(policyId);
|
|
14
14
|
|
|
15
15
|
// calculates the amount
|
|
16
|
-
const [amount] =
|
|
16
|
+
const [amount] = tx.moveCall({
|
|
17
17
|
target: `${packageId}::royalty_rule::fee_amount`,
|
|
18
18
|
typeArguments: [itemType],
|
|
19
|
-
arguments: [policyObj,
|
|
19
|
+
arguments: [policyObj, tx.pure.u64(price || '0')],
|
|
20
20
|
});
|
|
21
21
|
|
|
22
22
|
// splits the coin.
|
|
23
|
-
const feeCoin =
|
|
23
|
+
const feeCoin = tx.splitCoins(tx.gas, [amount]);
|
|
24
24
|
|
|
25
25
|
// pays the policy
|
|
26
|
-
|
|
26
|
+
tx.moveCall({
|
|
27
27
|
target: `${packageId}::royalty_rule::pay`,
|
|
28
28
|
typeArguments: [itemType],
|
|
29
29
|
arguments: [policyObj, transferRequest, feeCoin],
|
|
@@ -32,7 +32,7 @@ export function resolveRoyaltyRule(params: RuleResolvingParams) {
|
|
|
32
32
|
|
|
33
33
|
export function resolveKioskLockRule(params: RuleResolvingParams) {
|
|
34
34
|
const {
|
|
35
|
-
|
|
35
|
+
transaction: tx,
|
|
36
36
|
packageId,
|
|
37
37
|
itemType,
|
|
38
38
|
kiosk,
|
|
@@ -44,13 +44,13 @@ export function resolveKioskLockRule(params: RuleResolvingParams) {
|
|
|
44
44
|
|
|
45
45
|
if (!kiosk || !kioskCap) throw new Error('Missing Owned Kiosk or Owned Kiosk Cap');
|
|
46
46
|
|
|
47
|
-
lock(
|
|
47
|
+
lock(tx, itemType, kiosk, kioskCap, policyId, purchasedItem);
|
|
48
48
|
|
|
49
49
|
// proves that the item is locked in the kiosk to the TP.
|
|
50
|
-
|
|
50
|
+
tx.moveCall({
|
|
51
51
|
target: `${packageId}::kiosk_lock_rule::prove`,
|
|
52
52
|
typeArguments: [itemType],
|
|
53
|
-
arguments: [transferRequest,
|
|
53
|
+
arguments: [transferRequest, tx.object(kiosk)],
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
|
|
@@ -59,15 +59,15 @@ export function resolveKioskLockRule(params: RuleResolvingParams) {
|
|
|
59
59
|
* @param params
|
|
60
60
|
*/
|
|
61
61
|
export function resolvePersonalKioskRule(params: RuleResolvingParams) {
|
|
62
|
-
const {
|
|
62
|
+
const { transaction: tx, packageId, itemType, kiosk, transferRequest } = params;
|
|
63
63
|
|
|
64
64
|
if (!kiosk) throw new Error('Missing owned Kiosk.');
|
|
65
65
|
|
|
66
66
|
// proves that the destination kiosk is personal.
|
|
67
|
-
|
|
67
|
+
tx.moveCall({
|
|
68
68
|
target: `${packageId}::personal_kiosk_rule::prove`,
|
|
69
69
|
typeArguments: [itemType],
|
|
70
|
-
arguments: [
|
|
70
|
+
arguments: [tx.object(kiosk), transferRequest],
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
73
|
|
|
@@ -75,12 +75,12 @@ export function resolvePersonalKioskRule(params: RuleResolvingParams) {
|
|
|
75
75
|
* Resolves the floor price rule.
|
|
76
76
|
*/
|
|
77
77
|
export function resolveFloorPriceRule(params: RuleResolvingParams) {
|
|
78
|
-
const {
|
|
78
|
+
const { transaction: tx, packageId, itemType, policyId, transferRequest } = params;
|
|
79
79
|
|
|
80
80
|
// proves that the destination kiosk is personal
|
|
81
|
-
|
|
81
|
+
tx.moveCall({
|
|
82
82
|
target: `${packageId}::floor_price_rule::prove`,
|
|
83
83
|
typeArguments: [itemType],
|
|
84
|
-
arguments: [
|
|
84
|
+
arguments: [tx.object(policyId), transferRequest],
|
|
85
85
|
});
|
|
86
86
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// Copyright (c) Mysten Labs, Inc.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import { bcs } from '@mysten/sui
|
|
4
|
+
import { bcs } from '@mysten/sui/bcs';
|
|
5
5
|
import type {
|
|
6
|
+
Transaction,
|
|
6
7
|
TransactionArgument,
|
|
7
|
-
TransactionBlock,
|
|
8
8
|
TransactionObjectArgument,
|
|
9
|
-
} from '@mysten/sui
|
|
9
|
+
} from '@mysten/sui/transactions';
|
|
10
10
|
|
|
11
11
|
import type { ObjectArgument } from '../types/index.js';
|
|
12
12
|
import { TRANSFER_POLICY_MODULE, TRANSFER_POLICY_TYPE } from '../types/index.js';
|
|
@@ -16,7 +16,7 @@ import { TRANSFER_POLICY_MODULE, TRANSFER_POLICY_TYPE } from '../types/index.js'
|
|
|
16
16
|
* Returns `transferPolicyCap`
|
|
17
17
|
*/
|
|
18
18
|
export function createTransferPolicy(
|
|
19
|
-
tx:
|
|
19
|
+
tx: Transaction,
|
|
20
20
|
itemType: string,
|
|
21
21
|
publisher: ObjectArgument,
|
|
22
22
|
): TransactionObjectArgument {
|
|
@@ -36,7 +36,7 @@ export function createTransferPolicy(
|
|
|
36
36
|
* Used if we want to use the policy before making it a shared object.
|
|
37
37
|
*/
|
|
38
38
|
export function createTransferPolicyWithoutSharing(
|
|
39
|
-
tx:
|
|
39
|
+
tx: Transaction,
|
|
40
40
|
itemType: string,
|
|
41
41
|
publisher: ObjectArgument,
|
|
42
42
|
): [TransactionObjectArgument, TransactionObjectArgument] {
|
|
@@ -52,7 +52,7 @@ export function createTransferPolicyWithoutSharing(
|
|
|
52
52
|
* Converts Transfer Policy to a shared object.
|
|
53
53
|
*/
|
|
54
54
|
export function shareTransferPolicy(
|
|
55
|
-
tx:
|
|
55
|
+
tx: Transaction,
|
|
56
56
|
itemType: string,
|
|
57
57
|
transferPolicy: TransactionObjectArgument,
|
|
58
58
|
) {
|
|
@@ -67,7 +67,7 @@ export function shareTransferPolicy(
|
|
|
67
67
|
* Call the `transfer_policy::withdraw` function to withdraw profits from a transfer policy.
|
|
68
68
|
*/
|
|
69
69
|
export function withdrawFromPolicy(
|
|
70
|
-
tx:
|
|
70
|
+
tx: Transaction,
|
|
71
71
|
itemType: string,
|
|
72
72
|
policy: ObjectArgument,
|
|
73
73
|
policyCap: ObjectArgument,
|
|
@@ -89,7 +89,7 @@ export function withdrawFromPolicy(
|
|
|
89
89
|
* transaction.
|
|
90
90
|
*/
|
|
91
91
|
export function confirmRequest(
|
|
92
|
-
tx:
|
|
92
|
+
tx: Transaction,
|
|
93
93
|
itemType: string,
|
|
94
94
|
policy: ObjectArgument,
|
|
95
95
|
request: TransactionArgument,
|
|
@@ -105,7 +105,7 @@ export function confirmRequest(
|
|
|
105
105
|
* Calls the `transfer_policy::remove_rule` function to remove a Rule from the transfer policy's ruleset.
|
|
106
106
|
*/
|
|
107
107
|
export function removeTransferPolicyRule(
|
|
108
|
-
tx:
|
|
108
|
+
tx: Transaction,
|
|
109
109
|
itemType: string,
|
|
110
110
|
ruleType: string,
|
|
111
111
|
configType: string,
|
package/src/types/index.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// Copyright (c) Mysten Labs, Inc.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import type { SuiClient } from '@mysten/sui
|
|
5
|
-
import type { TransactionObjectArgument } from '@mysten/sui
|
|
4
|
+
import type { SuiClient } from '@mysten/sui/client';
|
|
5
|
+
import type { TransactionObjectArgument } from '@mysten/sui/transactions';
|
|
6
6
|
|
|
7
7
|
import type { BaseRulePackageIds } from '../constants.js';
|
|
8
8
|
|
package/src/types/kiosk.ts
CHANGED
|
@@ -5,8 +5,8 @@ import type {
|
|
|
5
5
|
PaginatedObjectsResponse,
|
|
6
6
|
SuiObjectData,
|
|
7
7
|
SuiObjectDataOptions,
|
|
8
|
-
} from '@mysten/sui
|
|
9
|
-
import type { TransactionArgument } from '@mysten/sui
|
|
8
|
+
} from '@mysten/sui/client';
|
|
9
|
+
import type { TransactionArgument } from '@mysten/sui/transactions';
|
|
10
10
|
|
|
11
11
|
import type { ObjectArgument } from './index.js';
|
|
12
12
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// Copyright (c) Mysten Labs, Inc.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import type { ObjectOwner } from '@mysten/sui
|
|
5
|
-
import type {
|
|
4
|
+
import type { ObjectOwner } from '@mysten/sui/client';
|
|
5
|
+
import type { Transaction, TransactionObjectArgument } from '@mysten/sui/transactions';
|
|
6
6
|
|
|
7
7
|
import type { ObjectArgument } from './index.js';
|
|
8
8
|
|
|
@@ -52,7 +52,9 @@ export type TransferPolicyCreated = {
|
|
|
52
52
|
// Each rule resolving function should check that the key it's seeking is in the object
|
|
53
53
|
// e.g. `if(!'my_key' in ruleParams!) throw new Error("Can't resolve that rule!")`
|
|
54
54
|
export type RuleResolvingParams = {
|
|
55
|
-
|
|
55
|
+
transaction: Transaction;
|
|
56
|
+
/** @deprecated use transaction instead */
|
|
57
|
+
transactionBlock: Transaction;
|
|
56
58
|
itemType: string;
|
|
57
59
|
itemId: string;
|
|
58
60
|
price: string;
|
package/src/utils.ts
CHANGED
|
@@ -9,12 +9,17 @@ import type {
|
|
|
9
9
|
SuiObjectDataFilter,
|
|
10
10
|
SuiObjectDataOptions,
|
|
11
11
|
SuiObjectResponse,
|
|
12
|
-
} from '@mysten/sui
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
} from '@mysten/sui/client';
|
|
13
|
+
import {
|
|
14
|
+
fromB64,
|
|
15
|
+
normalizeStructTag,
|
|
16
|
+
normalizeSuiAddress,
|
|
17
|
+
parseStructTag,
|
|
18
|
+
} from '@mysten/sui/utils';
|
|
19
|
+
|
|
20
|
+
import { KioskType } from './bcs.js';
|
|
16
21
|
import type { Kiosk, KioskData, KioskListing, TransferPolicyCap } from './types/index.js';
|
|
17
|
-
import {
|
|
22
|
+
import { TRANSFER_POLICY_CAP_TYPE } from './types/index.js';
|
|
18
23
|
|
|
19
24
|
const DEFAULT_QUERY_LIMIT = 50;
|
|
20
25
|
|
|
@@ -29,7 +34,7 @@ export async function getKioskObject(client: SuiClient, id: string): Promise<Kio
|
|
|
29
34
|
throw new Error(`Invalid kiosk query: ${id}, expected object, got package`);
|
|
30
35
|
}
|
|
31
36
|
|
|
32
|
-
return
|
|
37
|
+
return KioskType.parse(fromB64(queryRes.data.bcs!.bcsBytes));
|
|
33
38
|
}
|
|
34
39
|
|
|
35
40
|
// helper to extract kiosk data from dynamic fields.
|