@iota/kiosk 0.6.2 → 0.8.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 +77 -0
- package/dist/cjs/bcs.d.ts +22 -37
- package/dist/cjs/bcs.d.ts.map +1 -0
- package/dist/cjs/client/kiosk-client.d.ts +1 -0
- package/dist/cjs/client/kiosk-client.d.ts.map +1 -0
- package/dist/cjs/client/kiosk-client.js +1 -8
- package/dist/cjs/client/kiosk-client.js.map +2 -2
- package/dist/cjs/client/kiosk-transaction.d.ts +6 -7
- package/dist/cjs/client/kiosk-transaction.d.ts.map +1 -0
- package/dist/cjs/client/kiosk-transaction.js +8 -10
- package/dist/cjs/client/kiosk-transaction.js.map +2 -2
- package/dist/cjs/client/tp-transaction.d.ts +2 -3
- package/dist/cjs/client/tp-transaction.d.ts.map +1 -0
- package/dist/cjs/client/tp-transaction.js +1 -6
- package/dist/cjs/client/tp-transaction.js.map +2 -2
- package/dist/cjs/constants.d.ts +2 -1
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +1 -1
- package/dist/cjs/constants.js.map +2 -2
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/query/kiosk.d.ts +1 -0
- package/dist/cjs/query/kiosk.d.ts.map +1 -0
- package/dist/cjs/query/kiosk.js +81 -22
- package/dist/cjs/query/kiosk.js.map +2 -2
- package/dist/cjs/query/transfer-policy.d.ts +1 -0
- package/dist/cjs/query/transfer-policy.d.ts.map +1 -0
- package/dist/cjs/tx/kiosk.d.ts +1 -0
- package/dist/cjs/tx/kiosk.d.ts.map +1 -0
- package/dist/cjs/tx/personal-kiosk.d.ts +1 -0
- package/dist/cjs/tx/personal-kiosk.d.ts.map +1 -0
- package/dist/cjs/tx/rules/attach.d.ts +1 -0
- package/dist/cjs/tx/rules/attach.d.ts.map +1 -0
- package/dist/cjs/tx/rules/resolve.d.ts +2 -1
- package/dist/cjs/tx/rules/resolve.d.ts.map +1 -0
- package/dist/cjs/tx/rules/resolve.js +35 -5
- package/dist/cjs/tx/rules/resolve.js.map +2 -2
- package/dist/cjs/tx/transfer-policy.d.ts +1 -0
- package/dist/cjs/tx/transfer-policy.d.ts.map +1 -0
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/kiosk.d.ts +1 -0
- package/dist/cjs/types/kiosk.d.ts.map +1 -0
- package/dist/cjs/types/transfer-policy.d.ts +3 -2
- package/dist/cjs/types/transfer-policy.d.ts.map +1 -0
- package/dist/cjs/types/transfer-policy.js.map +2 -2
- package/dist/cjs/utils.d.ts +1 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/esm/bcs.d.ts +22 -37
- package/dist/esm/bcs.d.ts.map +1 -0
- package/dist/esm/client/kiosk-client.d.ts +1 -0
- package/dist/esm/client/kiosk-client.d.ts.map +1 -0
- package/dist/esm/client/kiosk-client.js +1 -8
- package/dist/esm/client/kiosk-client.js.map +2 -2
- package/dist/esm/client/kiosk-transaction.d.ts +6 -7
- package/dist/esm/client/kiosk-transaction.d.ts.map +1 -0
- package/dist/esm/client/kiosk-transaction.js +8 -10
- package/dist/esm/client/kiosk-transaction.js.map +2 -2
- package/dist/esm/client/tp-transaction.d.ts +2 -3
- package/dist/esm/client/tp-transaction.d.ts.map +1 -0
- package/dist/esm/client/tp-transaction.js +1 -6
- package/dist/esm/client/tp-transaction.js.map +2 -2
- package/dist/esm/constants.d.ts +2 -1
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +1 -1
- package/dist/esm/constants.js.map +2 -2
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/query/kiosk.d.ts +1 -0
- package/dist/esm/query/kiosk.d.ts.map +1 -0
- package/dist/esm/query/kiosk.js +81 -22
- package/dist/esm/query/kiosk.js.map +2 -2
- package/dist/esm/query/transfer-policy.d.ts +1 -0
- package/dist/esm/query/transfer-policy.d.ts.map +1 -0
- package/dist/esm/tx/kiosk.d.ts +1 -0
- package/dist/esm/tx/kiosk.d.ts.map +1 -0
- package/dist/esm/tx/personal-kiosk.d.ts +1 -0
- package/dist/esm/tx/personal-kiosk.d.ts.map +1 -0
- package/dist/esm/tx/rules/attach.d.ts +1 -0
- package/dist/esm/tx/rules/attach.d.ts.map +1 -0
- package/dist/esm/tx/rules/resolve.d.ts +2 -1
- package/dist/esm/tx/rules/resolve.d.ts.map +1 -0
- package/dist/esm/tx/rules/resolve.js +35 -5
- package/dist/esm/tx/rules/resolve.js.map +2 -2
- package/dist/esm/tx/transfer-policy.d.ts +1 -0
- package/dist/esm/tx/transfer-policy.d.ts.map +1 -0
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/kiosk.d.ts +1 -0
- package/dist/esm/types/kiosk.d.ts.map +1 -0
- package/dist/esm/types/transfer-policy.d.ts +3 -2
- package/dist/esm/types/transfer-policy.d.ts.map +1 -0
- package/dist/esm/types/transfer-policy.js.map +2 -2
- package/dist/esm/utils.d.ts +1 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/src/client/kiosk-client.ts +1 -10
- package/src/client/kiosk-transaction.ts +7 -11
- package/src/client/tp-transaction.ts +1 -8
- package/src/constants.ts +5 -3
- package/src/query/kiosk.ts +108 -28
- package/src/tx/rules/resolve.ts +45 -6
- package/src/types/transfer-policy.ts +3 -2
package/dist/esm/query/kiosk.js
CHANGED
|
@@ -9,6 +9,9 @@ import {
|
|
|
9
9
|
getAllObjects,
|
|
10
10
|
getKioskObject
|
|
11
11
|
} from "../utils.js";
|
|
12
|
+
const DEFAULT_PAGE_SIZE = 50;
|
|
13
|
+
const PERSONAL_KIOSKS_CURSOR = "personal";
|
|
14
|
+
const OWNED_KIOSKS_CURSOR = "owned";
|
|
12
15
|
async function fetchKiosk(client, kioskId, pagination, options) {
|
|
13
16
|
const data = await getAllDynamicFields(client, kioskId, pagination);
|
|
14
17
|
const listings = [];
|
|
@@ -39,41 +42,97 @@ async function fetchKiosk(client, kioskId, pagination, options) {
|
|
|
39
42
|
};
|
|
40
43
|
}
|
|
41
44
|
async function getOwnedKiosks(client, address, options) {
|
|
42
|
-
if (!isValidIotaAddress(address))
|
|
45
|
+
if (!isValidIotaAddress(address)) {
|
|
43
46
|
return {
|
|
44
47
|
nextCursor: null,
|
|
45
48
|
hasNextPage: false,
|
|
46
49
|
kioskOwnerCaps: [],
|
|
47
50
|
kioskIds: []
|
|
48
51
|
};
|
|
49
|
-
const filter = {
|
|
50
|
-
MatchAny: [
|
|
51
|
-
{
|
|
52
|
-
StructType: KIOSK_OWNER_CAP
|
|
53
|
-
}
|
|
54
|
-
]
|
|
55
|
-
};
|
|
56
|
-
if (options?.personalKioskType) {
|
|
57
|
-
filter.MatchAny.push({
|
|
58
|
-
StructType: options.personalKioskType
|
|
59
|
-
});
|
|
60
52
|
}
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
53
|
+
const limit = options?.pagination?.limit ?? DEFAULT_PAGE_SIZE;
|
|
54
|
+
const [cursorType, cursor] = options?.pagination?.cursor?.split(":") ?? [
|
|
55
|
+
PERSONAL_KIOSKS_CURSOR,
|
|
56
|
+
null
|
|
57
|
+
];
|
|
58
|
+
if (options?.personalKioskType && cursorType === PERSONAL_KIOSKS_CURSOR) {
|
|
59
|
+
const personalKioskResponse = formatOwnedKioskResponse(
|
|
60
|
+
await client.getOwnedObjects({
|
|
61
|
+
owner: address,
|
|
62
|
+
filter: {
|
|
63
|
+
StructType: options.personalKioskType
|
|
64
|
+
},
|
|
65
|
+
options: {
|
|
66
|
+
showContent: true,
|
|
67
|
+
showType: true
|
|
68
|
+
},
|
|
69
|
+
cursor,
|
|
70
|
+
limit
|
|
71
|
+
}),
|
|
72
|
+
PERSONAL_KIOSKS_CURSOR
|
|
73
|
+
);
|
|
74
|
+
if (personalKioskResponse.hasNextPage) {
|
|
75
|
+
return personalKioskResponse;
|
|
76
|
+
}
|
|
77
|
+
const remainingLimit = limit - personalKioskResponse.kioskOwnerCaps.length;
|
|
78
|
+
if (remainingLimit < 1) {
|
|
79
|
+
return {
|
|
80
|
+
nextCursor: `${OWNED_KIOSKS_CURSOR}:`,
|
|
81
|
+
hasNextPage: true,
|
|
82
|
+
kioskOwnerCaps: personalKioskResponse.kioskOwnerCaps,
|
|
83
|
+
kioskIds: personalKioskResponse.kioskIds
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
const ownedKiosksResponse = formatOwnedKioskResponse(
|
|
87
|
+
await client.getOwnedObjects({
|
|
88
|
+
owner: address,
|
|
89
|
+
filter: {
|
|
90
|
+
StructType: KIOSK_OWNER_CAP
|
|
91
|
+
},
|
|
92
|
+
options: {
|
|
93
|
+
showContent: true,
|
|
94
|
+
showType: true
|
|
95
|
+
},
|
|
96
|
+
limit: remainingLimit
|
|
97
|
+
}),
|
|
98
|
+
OWNED_KIOSKS_CURSOR
|
|
99
|
+
);
|
|
100
|
+
return {
|
|
101
|
+
nextCursor: ownedKiosksResponse.nextCursor,
|
|
102
|
+
hasNextPage: ownedKiosksResponse.hasNextPage,
|
|
103
|
+
kioskOwnerCaps: [
|
|
104
|
+
...personalKioskResponse.kioskOwnerCaps,
|
|
105
|
+
...ownedKiosksResponse.kioskOwnerCaps
|
|
106
|
+
],
|
|
107
|
+
kioskIds: [...personalKioskResponse.kioskIds, ...ownedKiosksResponse.kioskIds]
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
return formatOwnedKioskResponse(
|
|
111
|
+
await client.getOwnedObjects({
|
|
112
|
+
owner: address,
|
|
113
|
+
filter: {
|
|
114
|
+
StructType: KIOSK_OWNER_CAP
|
|
115
|
+
},
|
|
116
|
+
options: {
|
|
117
|
+
showContent: true,
|
|
118
|
+
showType: true
|
|
119
|
+
},
|
|
120
|
+
// cursor might be an empty string if the number of personal kiosks was a multiple of the limit.
|
|
121
|
+
cursor: cursor ? cursor : null,
|
|
122
|
+
limit
|
|
123
|
+
}),
|
|
124
|
+
OWNED_KIOSKS_CURSOR
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
function formatOwnedKioskResponse(response, cursorType) {
|
|
128
|
+
const { data, hasNextPage, nextCursor } = response;
|
|
70
129
|
const kioskIdList = data?.map((x) => {
|
|
71
130
|
const fields = x.data?.content?.dataType === "moveObject" ? x.data.content.fields : null;
|
|
72
131
|
return fields?.cap ? fields?.cap?.fields?.for : fields?.for;
|
|
73
132
|
});
|
|
74
133
|
const filteredData = data.filter((x) => "data" in x).map((x) => x.data);
|
|
75
134
|
return {
|
|
76
|
-
nextCursor,
|
|
135
|
+
nextCursor: nextCursor ? `${cursorType}:${nextCursor}` : nextCursor,
|
|
77
136
|
hasNextPage,
|
|
78
137
|
kioskOwnerCaps: filteredData.map((x, idx) => ({
|
|
79
138
|
isPersonal: x.type !== KIOSK_OWNER_CAP,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/query/kiosk.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n PaginationArguments,\n IotaClient,\n IotaObjectData,\n
|
|
5
|
-
"mappings": "AAWA,SAAS,0BAA0B;AASnC,SAAS,uBAAuB;AAChC;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEP,eAAsB,WAClB,QACA,SACA,YACA,SACuB;AAKvB,QAAM,OAAO,MAAM,oBAAoB,QAAQ,SAAS,UAAU;AAElE,QAAM,WAA2B,CAAC;AAClC,QAAM,gBAA0B,CAAC;AAGjC,QAAM,YAAY,iBAAiB,MAAM,UAAU,eAAe,OAAO;AAKzE,QAAM,CAAC,OAAO,gBAAgB,KAAK,IAAI,MAAM,QAAQ,IAAI;AAAA,IACrD,QAAQ,kBAAkB,eAAe,QAAQ,OAAO,IAAI,QAAQ,QAAQ,MAAS;AAAA,IACrF,QAAQ,oBACF,cAAc,QAAQ,UAAU,YAAY;AAAA,MACxC,aAAa;AAAA,IACjB,CAAC,IACD,QAAQ,QAAQ,CAAC,CAAC;AAAA,IACxB,QAAQ,cACF;AAAA,MACI;AAAA,MACA,UAAU;AAAA,MACV,QAAQ,iBAAiB,EAAE,aAAa,KAAK;AAAA,IACjD,IACA,QAAQ,QAAQ,CAAC,CAAC;AAAA,EAC5B,CAAC;AAED,MAAI,QAAQ,gBAAiB,WAAU,QAAQ;AAE/C,0BAAwB,WAAW,UAAU,cAAc;AAE3D,oBAAkB,WAAW,aAAa;AAG1C;AAAA,IACI;AAAA,IACA,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAK;AAAA,EACpD;AAEA,SAAO;AAAA,IACH,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,aAAa;AAAA,EACjB;AACJ;AAQA,eAAsB,eAClB,QACA,SACA,SAIoB;
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n PaginatedObjectsResponse,\n PaginationArguments,\n IotaClient,\n IotaObjectData,\n IotaObjectResponse,\n} from '@iota/iota-sdk/client';\nimport { isValidIotaAddress } from '@iota/iota-sdk/utils';\n\nimport type {\n FetchKioskOptions,\n KioskExtension,\n KioskListing,\n OwnedKiosks,\n PagedKioskData,\n} from '../types/index.js';\nimport { KIOSK_OWNER_CAP } from '../types/index.js';\nimport {\n attachListingsAndPrices,\n attachLockedItems,\n attachObjects,\n extractKioskData,\n getAllDynamicFields,\n getAllObjects,\n getKioskObject,\n} from '../utils.js';\n\nconst DEFAULT_PAGE_SIZE = 50;\nconst PERSONAL_KIOSKS_CURSOR = 'personal';\nconst OWNED_KIOSKS_CURSOR = 'owned';\n\nexport async function fetchKiosk(\n client: IotaClient,\n kioskId: string,\n pagination: PaginationArguments<string>,\n options: FetchKioskOptions,\n): Promise<PagedKioskData> {\n // TODO: Replace the `getAllDynamicFields` with a paginated\n // response, once we have better RPC support for\n // type filtering & batch fetching.\n // This can't work with pagination currently.\n const data = await getAllDynamicFields(client, kioskId, pagination);\n\n const listings: KioskListing[] = [];\n const lockedItemIds: string[] = [];\n\n // extracted kiosk data.\n const kioskData = extractKioskData(data, listings, lockedItemIds, kioskId);\n\n // split the fetching in two queries as we are most likely passing different options for each kind.\n // For items, we usually seek the Display.\n // For listings we usually seek the DF value (price) / exclusivity.\n const [kiosk, listingObjects, items] = await Promise.all([\n options.withKioskFields ? getKioskObject(client, kioskId) : Promise.resolve(undefined),\n options.withListingPrices\n ? getAllObjects(client, kioskData.listingIds, {\n showContent: true,\n })\n : Promise.resolve([]),\n options.withObjects\n ? getAllObjects(\n client,\n kioskData.itemIds,\n options.objectOptions || { showDisplay: true },\n )\n : Promise.resolve([]),\n ]);\n\n if (options.withKioskFields) kioskData.kiosk = kiosk;\n // attach items listings. IF we have `options.withListingPrices === true`, it will also attach the prices.\n attachListingsAndPrices(kioskData, listings, listingObjects);\n // add `locked` status to items that are locked.\n attachLockedItems(kioskData, lockedItemIds);\n\n // Attach the objects for the queried items.\n attachObjects(\n kioskData,\n items.filter((x) => !!x.data).map((x) => x.data!),\n );\n\n return {\n data: kioskData,\n nextCursor: null,\n hasNextPage: false,\n };\n}\n\n/**\n * A function to fetch all the user's kiosk Caps\n * And a list of the kiosk address ids.\n * Returns a list of `kioskOwnerCapIds` and `kioskIds`.\n * Extra options allow pagination.\n */\nexport async function getOwnedKiosks(\n client: IotaClient,\n address: string,\n options?: {\n pagination?: PaginationArguments<string>;\n personalKioskType: string;\n },\n): Promise<OwnedKiosks> {\n // TODO: this should throw an error, but I am not going to change it right now incase it breaks existing code.\n if (!isValidIotaAddress(address)) {\n return {\n nextCursor: null,\n hasNextPage: false,\n kioskOwnerCaps: [],\n kioskIds: [],\n };\n }\n\n const limit = options?.pagination?.limit ?? DEFAULT_PAGE_SIZE;\n const [cursorType, cursor] = options?.pagination?.cursor?.split(':') ?? [\n PERSONAL_KIOSKS_CURSOR,\n null,\n ];\n\n if (options?.personalKioskType && cursorType === PERSONAL_KIOSKS_CURSOR) {\n const personalKioskResponse = formatOwnedKioskResponse(\n await client.getOwnedObjects({\n owner: address,\n filter: {\n StructType: options.personalKioskType,\n },\n options: {\n showContent: true,\n showType: true,\n },\n cursor,\n limit,\n }),\n PERSONAL_KIOSKS_CURSOR,\n );\n\n if (personalKioskResponse.hasNextPage) {\n return personalKioskResponse;\n }\n\n const remainingLimit = limit - personalKioskResponse.kioskOwnerCaps.length;\n\n // If we have all personal kiosks, but don't have space for the owned kiosks\n // we need to start loading owned kiosks for the next page, but don't have a real cursor\n if (remainingLimit < 1) {\n return {\n nextCursor: `${OWNED_KIOSKS_CURSOR}:`,\n hasNextPage: true,\n kioskOwnerCaps: personalKioskResponse.kioskOwnerCaps,\n kioskIds: personalKioskResponse.kioskIds,\n };\n }\n\n const ownedKiosksResponse = formatOwnedKioskResponse(\n await client.getOwnedObjects({\n owner: address,\n filter: {\n StructType: KIOSK_OWNER_CAP,\n },\n options: {\n showContent: true,\n showType: true,\n },\n limit: remainingLimit,\n }),\n OWNED_KIOSKS_CURSOR,\n );\n\n return {\n nextCursor: ownedKiosksResponse.nextCursor,\n hasNextPage: ownedKiosksResponse.hasNextPage,\n kioskOwnerCaps: [\n ...personalKioskResponse.kioskOwnerCaps,\n ...ownedKiosksResponse.kioskOwnerCaps,\n ],\n kioskIds: [...personalKioskResponse.kioskIds, ...ownedKiosksResponse.kioskIds],\n };\n }\n\n return formatOwnedKioskResponse(\n await client.getOwnedObjects({\n owner: address,\n filter: {\n StructType: KIOSK_OWNER_CAP,\n },\n options: {\n showContent: true,\n showType: true,\n },\n // cursor might be an empty string if the number of personal kiosks was a multiple of the limit.\n cursor: cursor ? cursor : null,\n limit,\n }),\n OWNED_KIOSKS_CURSOR,\n );\n}\n\nfunction formatOwnedKioskResponse(\n response: PaginatedObjectsResponse,\n cursorType: string,\n): OwnedKiosks {\n const { data, hasNextPage, nextCursor } = response;\n\n // get kioskIds from the OwnerCaps.\n const kioskIdList = data?.map((x: IotaObjectResponse) => {\n const fields =\n x.data?.content?.dataType === 'moveObject'\n ? (x.data.content.fields as unknown as\n | {\n cap: { fields: { for: string } };\n for?: never;\n }\n | {\n cap?: never;\n for: string;\n })\n : null;\n return fields?.cap ? fields?.cap?.fields?.for : (fields?.for as string);\n });\n\n // clean up data that might have an error in them.\n // only return valid objects.\n const filteredData = data.filter((x) => 'data' in x).map((x) => x.data) as IotaObjectData[];\n\n return {\n nextCursor: nextCursor ? `${cursorType}:${nextCursor}` : nextCursor,\n hasNextPage,\n kioskOwnerCaps: filteredData.map((x, idx) => ({\n isPersonal: x.type !== KIOSK_OWNER_CAP,\n digest: x.digest,\n version: x.version,\n objectId: x.objectId,\n kioskId: kioskIdList[idx],\n })),\n kioskIds: kioskIdList,\n };\n}\n\n// Get a kiosk extension data for a given kioskId and extensionType.\nexport async function fetchKioskExtension(\n client: IotaClient,\n kioskId: string,\n extensionType: string,\n): Promise<KioskExtension | null> {\n const extension = await client.getDynamicFieldObjectV2({\n parentObjectId: kioskId,\n name: {\n type: `0x2::kiosk_extension::ExtensionKey<${extensionType}>`,\n value: {\n dummy_field: false,\n },\n },\n options: {\n showContent: true,\n },\n });\n\n if (!extension.data) return null;\n\n const fields = (extension?.data?.content as { fields: { [k: string]: any } })?.fields?.value\n ?.fields;\n\n return {\n objectId: extension.data.objectId,\n type: extensionType,\n isEnabled: fields?.is_enabled,\n permissions: fields?.permissions,\n storageId: fields?.storage?.fields?.id?.id,\n storageSize: fields?.storage?.fields?.size,\n };\n}\n"],
|
|
5
|
+
"mappings": "AAWA,SAAS,0BAA0B;AASnC,SAAS,uBAAuB;AAChC;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEP,MAAM,oBAAoB;AAC1B,MAAM,yBAAyB;AAC/B,MAAM,sBAAsB;AAE5B,eAAsB,WAClB,QACA,SACA,YACA,SACuB;AAKvB,QAAM,OAAO,MAAM,oBAAoB,QAAQ,SAAS,UAAU;AAElE,QAAM,WAA2B,CAAC;AAClC,QAAM,gBAA0B,CAAC;AAGjC,QAAM,YAAY,iBAAiB,MAAM,UAAU,eAAe,OAAO;AAKzE,QAAM,CAAC,OAAO,gBAAgB,KAAK,IAAI,MAAM,QAAQ,IAAI;AAAA,IACrD,QAAQ,kBAAkB,eAAe,QAAQ,OAAO,IAAI,QAAQ,QAAQ,MAAS;AAAA,IACrF,QAAQ,oBACF,cAAc,QAAQ,UAAU,YAAY;AAAA,MACxC,aAAa;AAAA,IACjB,CAAC,IACD,QAAQ,QAAQ,CAAC,CAAC;AAAA,IACxB,QAAQ,cACF;AAAA,MACI;AAAA,MACA,UAAU;AAAA,MACV,QAAQ,iBAAiB,EAAE,aAAa,KAAK;AAAA,IACjD,IACA,QAAQ,QAAQ,CAAC,CAAC;AAAA,EAC5B,CAAC;AAED,MAAI,QAAQ,gBAAiB,WAAU,QAAQ;AAE/C,0BAAwB,WAAW,UAAU,cAAc;AAE3D,oBAAkB,WAAW,aAAa;AAG1C;AAAA,IACI;AAAA,IACA,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAK;AAAA,EACpD;AAEA,SAAO;AAAA,IACH,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,aAAa;AAAA,EACjB;AACJ;AAQA,eAAsB,eAClB,QACA,SACA,SAIoB;AAEpB,MAAI,CAAC,mBAAmB,OAAO,GAAG;AAC9B,WAAO;AAAA,MACH,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,gBAAgB,CAAC;AAAA,MACjB,UAAU,CAAC;AAAA,IACf;AAAA,EACJ;AAEA,QAAM,QAAQ,SAAS,YAAY,SAAS;AAC5C,QAAM,CAAC,YAAY,MAAM,IAAI,SAAS,YAAY,QAAQ,MAAM,GAAG,KAAK;AAAA,IACpE;AAAA,IACA;AAAA,EACJ;AAEA,MAAI,SAAS,qBAAqB,eAAe,wBAAwB;AACrE,UAAM,wBAAwB;AAAA,MAC1B,MAAM,OAAO,gBAAgB;AAAA,QACzB,OAAO;AAAA,QACP,QAAQ;AAAA,UACJ,YAAY,QAAQ;AAAA,QACxB;AAAA,QACA,SAAS;AAAA,UACL,aAAa;AAAA,UACb,UAAU;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,MACJ,CAAC;AAAA,MACD;AAAA,IACJ;AAEA,QAAI,sBAAsB,aAAa;AACnC,aAAO;AAAA,IACX;AAEA,UAAM,iBAAiB,QAAQ,sBAAsB,eAAe;AAIpE,QAAI,iBAAiB,GAAG;AACpB,aAAO;AAAA,QACH,YAAY,GAAG,mBAAmB;AAAA,QAClC,aAAa;AAAA,QACb,gBAAgB,sBAAsB;AAAA,QACtC,UAAU,sBAAsB;AAAA,MACpC;AAAA,IACJ;AAEA,UAAM,sBAAsB;AAAA,MACxB,MAAM,OAAO,gBAAgB;AAAA,QACzB,OAAO;AAAA,QACP,QAAQ;AAAA,UACJ,YAAY;AAAA,QAChB;AAAA,QACA,SAAS;AAAA,UACL,aAAa;AAAA,UACb,UAAU;AAAA,QACd;AAAA,QACA,OAAO;AAAA,MACX,CAAC;AAAA,MACD;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,YAAY,oBAAoB;AAAA,MAChC,aAAa,oBAAoB;AAAA,MACjC,gBAAgB;AAAA,QACZ,GAAG,sBAAsB;AAAA,QACzB,GAAG,oBAAoB;AAAA,MAC3B;AAAA,MACA,UAAU,CAAC,GAAG,sBAAsB,UAAU,GAAG,oBAAoB,QAAQ;AAAA,IACjF;AAAA,EACJ;AAEA,SAAO;AAAA,IACH,MAAM,OAAO,gBAAgB;AAAA,MACzB,OAAO;AAAA,MACP,QAAQ;AAAA,QACJ,YAAY;AAAA,MAChB;AAAA,MACA,SAAS;AAAA,QACL,aAAa;AAAA,QACb,UAAU;AAAA,MACd;AAAA;AAAA,MAEA,QAAQ,SAAS,SAAS;AAAA,MAC1B;AAAA,IACJ,CAAC;AAAA,IACD;AAAA,EACJ;AACJ;AAEA,SAAS,yBACL,UACA,YACW;AACX,QAAM,EAAE,MAAM,aAAa,WAAW,IAAI;AAG1C,QAAM,cAAc,MAAM,IAAI,CAAC,MAA0B;AACrD,UAAM,SACF,EAAE,MAAM,SAAS,aAAa,eACvB,EAAE,KAAK,QAAQ,SAShB;AACV,WAAO,QAAQ,MAAM,QAAQ,KAAK,QAAQ,MAAO,QAAQ;AAAA,EAC7D,CAAC;AAID,QAAM,eAAe,KAAK,OAAO,CAAC,MAAM,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;AAEtE,SAAO;AAAA,IACH,YAAY,aAAa,GAAG,UAAU,IAAI,UAAU,KAAK;AAAA,IACzD;AAAA,IACA,gBAAgB,aAAa,IAAI,CAAC,GAAG,SAAS;AAAA,MAC1C,YAAY,EAAE,SAAS;AAAA,MACvB,QAAQ,EAAE;AAAA,MACV,SAAS,EAAE;AAAA,MACX,UAAU,EAAE;AAAA,MACZ,SAAS,YAAY,GAAG;AAAA,IAC5B,EAAE;AAAA,IACF,UAAU;AAAA,EACd;AACJ;AAGA,eAAsB,oBAClB,QACA,SACA,eAC8B;AAC9B,QAAM,YAAY,MAAM,OAAO,wBAAwB;AAAA,IACnD,gBAAgB;AAAA,IAChB,MAAM;AAAA,MACF,MAAM,sCAAsC,aAAa;AAAA,MACzD,OAAO;AAAA,QACH,aAAa;AAAA,MACjB;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,MACL,aAAa;AAAA,IACjB;AAAA,EACJ,CAAC;AAED,MAAI,CAAC,UAAU,KAAM,QAAO;AAE5B,QAAM,SAAU,WAAW,MAAM,SAA8C,QAAQ,OACjF;AAEN,SAAO;AAAA,IACH,UAAU,UAAU,KAAK;AAAA,IACzB,MAAM;AAAA,IACN,WAAW,QAAQ;AAAA,IACnB,aAAa,QAAQ;AAAA,IACrB,WAAW,QAAQ,SAAS,QAAQ,IAAI;AAAA,IACxC,aAAa,QAAQ,SAAS,QAAQ;AAAA,EAC1C;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -27,3 +27,4 @@ export declare function queryTransferPolicyCapsByType(client: IotaClient, addres
|
|
|
27
27
|
* @returns TransferPolicyCap Object ID | undefined if not found.
|
|
28
28
|
*/
|
|
29
29
|
export declare function queryOwnedTransferPolicies(client: IotaClient, address: string): Promise<TransferPolicyCap[] | undefined>;
|
|
30
|
+
//# sourceMappingURL=transfer-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-policy.d.ts","sourceRoot":"","sources":["../../../src/query/transfer-policy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,WAAW,CAAC;AAGnB,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAQ3E;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,EAAE,CAAC,CAmC3B;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CAC/C,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAqB9B;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC5C,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,EAAE,GAAG,SAAS,CAAC,CAyB1C"}
|
package/dist/esm/tx/kiosk.d.ts
CHANGED
|
@@ -69,3 +69,4 @@ export declare function borrowValue(tx: Transaction, itemType: string, kiosk: Ob
|
|
|
69
69
|
* Return an item to the Kiosk after it was `borrowValue`-d.
|
|
70
70
|
*/
|
|
71
71
|
export declare function returnValue(tx: Transaction, itemType: string, kiosk: ObjectArgument, item: TransactionArgument, promise: TransactionArgument): void;
|
|
72
|
+
//# sourceMappingURL=kiosk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kiosk.d.ts","sourceRoot":"","sources":["../../../src/tx/kiosk.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,WAAW,EACX,mBAAmB,EACnB,yBAAyB,EAC5B,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;GAEG;AACH,wBAAgB,WAAW,CACvB,EAAE,EAAE,WAAW,GAChB,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CAMxD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,yBAAyB,CAI9E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,QAMrE;AAED;;;GAGG;AACH,wBAAgB,KAAK,CACjB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,cAAc,GACrB,IAAI,CAMN;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAChB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACrB,IAAI,CAMN;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAChB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,GACf,yBAAyB,CAQ3B;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAChB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,MAAM,GACvB,IAAI,CAMN;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAClB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,GACf,IAAI,CAMN;AAED;;;GAGG;AACH,wBAAgB,YAAY,CACxB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,GAAG,MAAM,GACvB,IAAI,CAMN;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACpB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACxB,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CAQxD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,WAAW,EACf,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,cAAc,EACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAClC,yBAAyB,CAS3B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACvB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,GACf,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAQ5C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACvB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,mBAAmB,GAC7B,IAAI,CAMN"}
|
|
@@ -5,3 +5,4 @@ export declare function convertToPersonalTx(tx: Transaction, kiosk: ObjectArgume
|
|
|
5
5
|
* Transfers the personal kiosk Cap to the sender.
|
|
6
6
|
*/
|
|
7
7
|
export declare function transferPersonalCapTx(tx: Transaction, personalKioskCap: TransactionObjectArgument, packageId: string): void;
|
|
8
|
+
//# sourceMappingURL=personal-kiosk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"personal-kiosk.d.ts","sourceRoot":"","sources":["../../../src/tx/personal-kiosk.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,wBAAgB,mBAAmB,CAC/B,EAAE,EAAE,WAAW,EACf,KAAK,EAAE,cAAc,EACrB,aAAa,EAAE,cAAc,EAC7B,SAAS,EAAE,MAAM,GAClB,yBAAyB,CAO3B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,EAAE,EAAE,WAAW,EACf,gBAAgB,EAAE,yBAAyB,EAC3C,SAAS,EAAE,MAAM,QAMpB"}
|
|
@@ -5,3 +5,4 @@ export declare function attachRoyaltyRuleTx(tx: Transaction, type: string, polic
|
|
|
5
5
|
minAmount: number | string, packageId: string): void;
|
|
6
6
|
export declare function attachPersonalKioskRuleTx(tx: Transaction, type: string, policy: ObjectArgument, policyCap: ObjectArgument, packageId: string): void;
|
|
7
7
|
export declare function attachFloorPriceRuleTx(tx: Transaction, type: string, policy: ObjectArgument, policyCap: ObjectArgument, minPrice: string | bigint, packageId: string): void;
|
|
8
|
+
//# sourceMappingURL=attach.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attach.d.ts","sourceRoot":"","sources":["../../../../src/tx/rules/attach.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wBAAgB,qBAAqB,CACjC,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,MAAM,QAOpB;AAED,wBAAgB,mBAAmB,CAC/B,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,cAAc,EACzB,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,2BAA2B;AAC3D,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,SAAS,EAAE,MAAM,QAepB;AAED,wBAAgB,yBAAyB,CACrC,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,MAAM,QAOpB;AAED,wBAAgB,sBAAsB,CAClC,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,SAAS,EAAE,MAAM,QAOpB"}
|
|
@@ -2,7 +2,7 @@ import type { RuleResolvingParams } from '../../types/index.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* A helper to resolve the royalty rule.
|
|
4
4
|
*/
|
|
5
|
-
export declare function resolveRoyaltyRule(params: RuleResolvingParams): void
|
|
5
|
+
export declare function resolveRoyaltyRule(params: RuleResolvingParams): Promise<void>;
|
|
6
6
|
export declare function resolveKioskLockRule(params: RuleResolvingParams): void;
|
|
7
7
|
/**
|
|
8
8
|
* A helper to resolve the personalKioskRule.
|
|
@@ -13,3 +13,4 @@ export declare function resolvePersonalKioskRule(params: RuleResolvingParams): v
|
|
|
13
13
|
* Resolves the floor price rule.
|
|
14
14
|
*/
|
|
15
15
|
export declare function resolveFloorPriceRule(params: RuleResolvingParams): void;
|
|
16
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../src/tx/rules/resolve.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,iBAuDnE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,QAsB/D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,QAWnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,QAShE"}
|
|
@@ -1,12 +1,42 @@
|
|
|
1
|
+
import { bcs } from "@iota/iota-sdk/bcs";
|
|
2
|
+
import { Transaction } from "@iota/iota-sdk/transactions";
|
|
3
|
+
import { normalizeIotaAddress } from "@iota/iota-sdk/utils";
|
|
1
4
|
import { lock } from "../kiosk.js";
|
|
2
|
-
function resolveRoyaltyRule(params) {
|
|
3
|
-
const {
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
async function resolveRoyaltyRule(params) {
|
|
6
|
+
const {
|
|
7
|
+
kioskClient,
|
|
8
|
+
transaction: tx,
|
|
9
|
+
itemType,
|
|
10
|
+
price,
|
|
11
|
+
packageId,
|
|
12
|
+
transferRequest,
|
|
13
|
+
policyId
|
|
14
|
+
} = params;
|
|
15
|
+
const feeTx = new Transaction();
|
|
16
|
+
feeTx.moveCall({
|
|
6
17
|
target: `${packageId}::royalty_rule::fee_amount`,
|
|
7
18
|
typeArguments: [itemType],
|
|
8
|
-
arguments: [
|
|
19
|
+
arguments: [feeTx.object(policyId), feeTx.pure.u64(price || "0")]
|
|
20
|
+
});
|
|
21
|
+
const policyObj = tx.object(policyId);
|
|
22
|
+
const { results } = await kioskClient.client.devInspectTransactionBlock({
|
|
23
|
+
sender: tx.getData().sender || normalizeIotaAddress("0x0"),
|
|
24
|
+
transactionBlock: feeTx
|
|
9
25
|
});
|
|
26
|
+
let amount = null;
|
|
27
|
+
if (results) {
|
|
28
|
+
const returnedAmount = results?.[0].returnValues?.[0]?.[0];
|
|
29
|
+
if (returnedAmount) {
|
|
30
|
+
amount = BigInt(bcs.U64.parse(new Uint8Array(returnedAmount)));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (!amount) {
|
|
34
|
+
[amount] = tx.moveCall({
|
|
35
|
+
target: `${packageId}::royalty_rule::fee_amount`,
|
|
36
|
+
typeArguments: [itemType],
|
|
37
|
+
arguments: [policyObj, tx.pure.u64(price || "0")]
|
|
38
|
+
});
|
|
39
|
+
}
|
|
10
40
|
const feeCoin = tx.splitCoins(tx.gas, [amount]);
|
|
11
41
|
tx.moveCall({
|
|
12
42
|
target: `${packageId}::royalty_rule::pay`,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/tx/rules/resolve.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c)
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2026 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@iota/iota-sdk/bcs';\nimport type { TransactionArgument } from '@iota/iota-sdk/transactions';\nimport { Transaction } from '@iota/iota-sdk/transactions';\nimport { normalizeIotaAddress } from '@iota/iota-sdk/utils';\n\nimport type { RuleResolvingParams } from '../../types/index.js';\nimport { lock } from '../kiosk.js';\n\n/**\n * A helper to resolve the royalty rule.\n */\nexport async function resolveRoyaltyRule(params: RuleResolvingParams) {\n const {\n kioskClient,\n transaction: tx,\n itemType,\n price,\n packageId,\n transferRequest,\n policyId,\n } = params;\n\n // We attempt to resolve the fee amount outside of the PTB so that the split amount is known before the transaction is sent.\n // This improves the display of the transaction within the wallet.\n\n const feeTx = new Transaction();\n // calculates the amount\n feeTx.moveCall({\n target: `${packageId}::royalty_rule::fee_amount`,\n typeArguments: [itemType],\n arguments: [feeTx.object(policyId), feeTx.pure.u64(price || '0')],\n });\n\n const policyObj = tx.object(policyId);\n\n const { results } = await kioskClient.client.devInspectTransactionBlock({\n sender: tx.getData().sender || normalizeIotaAddress('0x0'),\n transactionBlock: feeTx,\n });\n\n let amount: TransactionArgument | bigint | null = null;\n if (results) {\n const returnedAmount = results?.[0].returnValues?.[0]?.[0];\n if (returnedAmount) {\n amount = BigInt(bcs.U64.parse(new Uint8Array(returnedAmount as number[])));\n }\n }\n\n // We were not able to calculate the amount outside of the transaction, so fall back to resolving it within the PTB\n if (!amount) {\n [amount] = tx.moveCall({\n target: `${packageId}::royalty_rule::fee_amount`,\n typeArguments: [itemType],\n arguments: [policyObj, tx.pure.u64(price || '0')],\n });\n }\n\n // splits the coin.\n const feeCoin = tx.splitCoins(tx.gas, [amount]);\n\n // pays the policy\n tx.moveCall({\n target: `${packageId}::royalty_rule::pay`,\n typeArguments: [itemType],\n arguments: [policyObj, transferRequest, feeCoin],\n });\n}\n\nexport function resolveKioskLockRule(params: RuleResolvingParams) {\n const {\n transaction: tx,\n packageId,\n itemType,\n kiosk,\n kioskCap,\n policyId,\n purchasedItem,\n transferRequest,\n } = params;\n\n if (!kiosk || !kioskCap) throw new Error('Missing Owned Kiosk or Owned Kiosk Cap');\n\n lock(tx, itemType, kiosk, kioskCap, policyId, purchasedItem);\n\n // proves that the item is locked in the kiosk to the TP.\n tx.moveCall({\n target: `${packageId}::kiosk_lock_rule::prove`,\n typeArguments: [itemType],\n arguments: [transferRequest, tx.object(kiosk)],\n });\n}\n\n/**\n * A helper to resolve the personalKioskRule.\n * @param params\n */\nexport function resolvePersonalKioskRule(params: RuleResolvingParams) {\n const { transaction: tx, packageId, itemType, kiosk, transferRequest } = params;\n\n if (!kiosk) throw new Error('Missing owned Kiosk.');\n\n // proves that the destination kiosk is personal.\n tx.moveCall({\n target: `${packageId}::personal_kiosk_rule::prove`,\n typeArguments: [itemType],\n arguments: [tx.object(kiosk), transferRequest],\n });\n}\n\n/**\n * Resolves the floor price rule.\n */\nexport function resolveFloorPriceRule(params: RuleResolvingParams) {\n const { transaction: tx, packageId, itemType, policyId, transferRequest } = params;\n\n // proves that the destination kiosk is personal\n tx.moveCall({\n target: `${packageId}::floor_price_rule::prove`,\n typeArguments: [itemType],\n arguments: [tx.object(policyId), transferRequest],\n });\n}\n"],
|
|
5
|
+
"mappings": "AAIA,SAAS,WAAW;AAEpB,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AAGrC,SAAS,YAAY;AAKrB,eAAsB,mBAAmB,QAA6B;AAClE,QAAM;AAAA,IACF;AAAA,IACA,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAI;AAKJ,QAAM,QAAQ,IAAI,YAAY;AAE9B,QAAM,SAAS;AAAA,IACX,QAAQ,GAAG,SAAS;AAAA,IACpB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,MAAM,OAAO,QAAQ,GAAG,MAAM,KAAK,IAAI,SAAS,GAAG,CAAC;AAAA,EACpE,CAAC;AAED,QAAM,YAAY,GAAG,OAAO,QAAQ;AAEpC,QAAM,EAAE,QAAQ,IAAI,MAAM,YAAY,OAAO,2BAA2B;AAAA,IACpE,QAAQ,GAAG,QAAQ,EAAE,UAAU,qBAAqB,KAAK;AAAA,IACzD,kBAAkB;AAAA,EACtB,CAAC;AAED,MAAI,SAA8C;AAClD,MAAI,SAAS;AACT,UAAM,iBAAiB,UAAU,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;AACzD,QAAI,gBAAgB;AAChB,eAAS,OAAO,IAAI,IAAI,MAAM,IAAI,WAAW,cAA0B,CAAC,CAAC;AAAA,IAC7E;AAAA,EACJ;AAGA,MAAI,CAAC,QAAQ;AACT,KAAC,MAAM,IAAI,GAAG,SAAS;AAAA,MACnB,QAAQ,GAAG,SAAS;AAAA,MACpB,eAAe,CAAC,QAAQ;AAAA,MACxB,WAAW,CAAC,WAAW,GAAG,KAAK,IAAI,SAAS,GAAG,CAAC;AAAA,IACpD,CAAC;AAAA,EACL;AAGA,QAAM,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;AAG9C,KAAG,SAAS;AAAA,IACR,QAAQ,GAAG,SAAS;AAAA,IACpB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,WAAW,iBAAiB,OAAO;AAAA,EACnD,CAAC;AACL;AAEO,SAAS,qBAAqB,QAA6B;AAC9D,QAAM;AAAA,IACF,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAI;AAEJ,MAAI,CAAC,SAAS,CAAC,SAAU,OAAM,IAAI,MAAM,wCAAwC;AAEjF,OAAK,IAAI,UAAU,OAAO,UAAU,UAAU,aAAa;AAG3D,KAAG,SAAS;AAAA,IACR,QAAQ,GAAG,SAAS;AAAA,IACpB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,iBAAiB,GAAG,OAAO,KAAK,CAAC;AAAA,EACjD,CAAC;AACL;AAMO,SAAS,yBAAyB,QAA6B;AAClE,QAAM,EAAE,aAAa,IAAI,WAAW,UAAU,OAAO,gBAAgB,IAAI;AAEzE,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,sBAAsB;AAGlD,KAAG,SAAS;AAAA,IACR,QAAQ,GAAG,SAAS;AAAA,IACpB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,GAAG,OAAO,KAAK,GAAG,eAAe;AAAA,EACjD,CAAC;AACL;AAKO,SAAS,sBAAsB,QAA6B;AAC/D,QAAM,EAAE,aAAa,IAAI,WAAW,UAAU,UAAU,gBAAgB,IAAI;AAG5E,KAAG,SAAS;AAAA,IACR,QAAQ,GAAG,SAAS;AAAA,IACpB,eAAe,CAAC,QAAQ;AAAA,IACxB,WAAW,CAAC,GAAG,OAAO,QAAQ,GAAG,eAAe;AAAA,EACpD,CAAC;AACL;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -27,3 +27,4 @@ export declare function confirmRequest(tx: Transaction, itemType: string, policy
|
|
|
27
27
|
* Calls the `transfer_policy::remove_rule` function to remove a Rule from the transfer policy's ruleset.
|
|
28
28
|
*/
|
|
29
29
|
export declare function removeTransferPolicyRule(tx: Transaction, itemType: string, ruleType: string, configType: string, policy: ObjectArgument, policyCap: ObjectArgument): void;
|
|
30
|
+
//# sourceMappingURL=transfer-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-policy.d.ts","sourceRoot":"","sources":["../../../src/tx/transfer-policy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,WAAW,EACX,mBAAmB,EACnB,yBAAyB,EAC5B,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;GAGG;AACH,wBAAgB,oBAAoB,CAChC,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,cAAc,GAC1B,yBAAyB,CAU3B;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAC9C,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,cAAc,GAC1B,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CAQxD;AACD;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,yBAAyB,QAO5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAC9B,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,cAAc,EACzB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAChC,yBAAyB,CAU3B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,mBAAmB,GAC7B,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,cAAc,GAC1B,IAAI,CAMN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,yBAAyB,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kiosk.d.ts","sourceRoot":"","sources":["../../../src/types/kiosk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ObjectOwner } from '@iota/iota-sdk/client';
|
|
2
2
|
import type { Transaction, TransactionObjectArgument } from '@iota/iota-sdk/transactions';
|
|
3
|
+
import type { KioskClient } from '../client/kiosk-client.js';
|
|
3
4
|
import type { ObjectArgument } from './index.js';
|
|
4
5
|
/** The Transfer Policy module. */
|
|
5
6
|
export declare const TRANSFER_POLICY_MODULE = "0x2::transfer_policy";
|
|
@@ -35,8 +36,6 @@ export type TransferPolicyCreated = {
|
|
|
35
36
|
};
|
|
36
37
|
export type RuleResolvingParams = {
|
|
37
38
|
transaction: Transaction;
|
|
38
|
-
/** @deprecated use transaction instead */
|
|
39
|
-
transactionBlock: Transaction;
|
|
40
39
|
itemType: string;
|
|
41
40
|
itemId: string;
|
|
42
41
|
price: string;
|
|
@@ -48,4 +47,6 @@ export type RuleResolvingParams = {
|
|
|
48
47
|
purchasedItem: TransactionObjectArgument;
|
|
49
48
|
packageId: string;
|
|
50
49
|
extraArgs: Record<string, any>;
|
|
50
|
+
kioskClient: KioskClient;
|
|
51
51
|
};
|
|
52
|
+
//# sourceMappingURL=transfer-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-policy.d.ts","sourceRoot":"","sources":["../../../src/types/transfer-policy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,kCAAkC;AAClC,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAE7D,wEAAwE;AACxE,eAAO,MAAM,6BAA6B,gDAAqD,CAAC;AAEhG,+BAA+B;AAC/B,eAAO,MAAM,oBAAoB,yCAA8C,CAAC;AAEhF,mCAAmC;AACnC,eAAO,MAAM,wBAAwB,4CAAiD,CAAC;AAEvF,0BAA0B;AAC1B,eAAO,MAAM,eAAe,0BAA0B,CAAC;AAEvD,uBAAuB;AACvB,eAAO,MAAM,YAAY,uBAAuB,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,kCAAkC;AAClC,MAAM,MAAM,cAAc,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,qBAAqB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAMF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,cAAc,CAAC;IAC5B,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe,EAAE,yBAAyB,CAAC;IAC3C,aAAa,EAAE,yBAAyB,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE/B,WAAW,EAAE,WAAW,CAAC;CAC5B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/types/transfer-policy.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ObjectOwner } from '@iota/iota-sdk/client';\nimport type { Transaction, TransactionObjectArgument } from '@iota/iota-sdk/transactions';\n\nimport type { ObjectArgument } from './index.js';\n\n/** The Transfer Policy module. */\nexport const TRANSFER_POLICY_MODULE = '0x2::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 policyId: string;\n policyCapId: string;\n type: string;\n};\n\n/** The `TransferPolicy` object */\nexport type TransferPolicy = {\n id: string;\n type: string;\n balance: string;\n rules: string[];\n owner: ObjectOwner;\n};\n\n/** Event emitted when a TransferPolicy is created. */\nexport type TransferPolicyCreated = {\n id: 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 transaction: Transaction;\n
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ObjectOwner } from '@iota/iota-sdk/client';\nimport type { Transaction, TransactionObjectArgument } from '@iota/iota-sdk/transactions';\n\nimport type { KioskClient } from '../client/kiosk-client.js';\nimport type { ObjectArgument } from './index.js';\n\n/** The Transfer Policy module. */\nexport const TRANSFER_POLICY_MODULE = '0x2::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 policyId: string;\n policyCapId: string;\n type: string;\n};\n\n/** The `TransferPolicy` object */\nexport type TransferPolicy = {\n id: string;\n type: string;\n balance: string;\n rules: string[];\n owner: ObjectOwner;\n};\n\n/** Event emitted when a TransferPolicy is created. */\nexport type TransferPolicyCreated = {\n id: 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 transaction: Transaction;\n itemType: string;\n itemId: string;\n price: string;\n policyId: ObjectArgument;\n sellerKiosk: ObjectArgument;\n kiosk: ObjectArgument;\n kioskCap: ObjectArgument;\n transferRequest: TransactionObjectArgument;\n purchasedItem: TransactionObjectArgument;\n packageId: string;\n extraArgs: Record<string, any>; // extraParams contains more possible {key, values} to pass for custom rules.\n\n kioskClient: KioskClient;\n};\n"],
|
|
5
|
+
"mappings": "AAWO,MAAM,yBAAyB;AAG/B,MAAM,gCAAgC,GAAG,sBAAsB;AAG/D,MAAM,uBAAuB,GAAG,sBAAsB;AAGtD,MAAM,2BAA2B,GAAG,sBAAsB;AAG1D,MAAM,kBAAkB;AAGxB,MAAM,eAAe;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/utils.d.ts
CHANGED
|
@@ -49,3 +49,4 @@ export declare function percentageToBasisPoints(percentage: number): number;
|
|
|
49
49
|
*/
|
|
50
50
|
export declare function parseTransferPolicyCapObject(item: IotaObjectResponse): TransferPolicyCap | undefined;
|
|
51
51
|
export declare function getNormalizedRuleType(rule: string): string;
|
|
52
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EACrB,MAAM,uBAAuB,CAAC;AAS/B,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAK1F,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAYnF;AAGD,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,gBAAgB,EAAE,EACxB,QAAQ,EAAE,YAAY,EAAE,EACxB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,EAAE,MAAM,GAChB,SAAS,CAqCX;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,YAAY,EAAE,EACxB,cAAc,EAAE,kBAAkB,EAAE,QA0BvC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,QAY5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,QAc9E;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,+BAkB1C;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAC/B,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,EAAE,EACb,OAAO,EAAE,qBAAqB,EAC9B,KAAK,GAAE,MAA4B,iCAgBtC;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACrC,MAAM,EACN,KAAK,EACL,MAAM,EACN,KAA2B,EAC3B,OAA+C,GAClD,EAAE;IACC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,iCAmBA;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,UAIzD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CACxC,IAAI,EAAE,kBAAkB,GACzB,iBAAiB,GAAG,SAAS,CAiB/B;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,UAIjD"}
|