@tradeport/sui-trading-sdk 0.4.48 → 0.4.49
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/dist/index.js +44 -28
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +44 -28
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/constants.ts +6 -3
- package/src/methods/buyListings/addBuyListingTxs.ts +21 -0
- package/src/methods/transferNfts/addTransferNftTx.ts +15 -25
- package/src/methods/transferNfts/transferNfts.ts +7 -2
- package/src/methods/unlistListings/addUnlistListingTxs.ts +20 -0
package/dist/index.js
CHANGED
|
@@ -145,14 +145,15 @@ var fetchCollectionBidsAtSamePrice = import_graphql_request4.gql`
|
|
|
145
145
|
var import_transactions2 = require("@mysten/sui/transactions");
|
|
146
146
|
|
|
147
147
|
// src/constants.ts
|
|
148
|
-
var
|
|
148
|
+
var MYSTEN_TRANSFER_POLICY_RULES_PACKAGE_ID = "0x434b5bd8f6a7b05fede0ff46c6e511d71ea326ed38056e3bcd681d2d7c2a7879";
|
|
149
|
+
var MYSTEN_TRANSFER_POLICY_RULES_PACKAGE_ID_V2 = "0x0cb4bcc0560340eb1a1b929cabe56b33fc6449820ec8c1980d69bb98b649b802";
|
|
149
150
|
var TRADEPORT_BENEFICIARY_ADDRESS = "0xbca3b5c01c8d1a93aed3a036feff45145518292dd3c1db1d67cc99a699a7b517";
|
|
150
151
|
var TRADEPORT_DEFAULT_FEE_DECIMAL_PERCENT = 0.03;
|
|
151
152
|
var TRADEPORT_THIRD_PARTY_FEE_DECIMAL_PERCENT = 5e-3;
|
|
152
153
|
var TRADEPORT_LISTINGS_DEFAULT_COMMISSION_BPS = 300;
|
|
153
154
|
var TRADEPORT_LISTING_STORE = "0x47cba0b6309a12ce39f9306e28b899ed4b3698bce4f4911fd0c58ff2329a2ff6";
|
|
154
155
|
var TRADEPORT_BIDDING_STORE = "0x3d3b0c6e616fdc1a45b2b73d022bc085448e78bd729d28081c7a340abb33cba1";
|
|
155
|
-
var TRADEPORT_LISTINGS_PACKAGE = "
|
|
156
|
+
var TRADEPORT_LISTINGS_PACKAGE = "0x6cfe7388ccf732432906d7faebcc33fd91e11d4c2f8cb3ae0082b8d3269e3d5b";
|
|
156
157
|
var TRADEPORT_LISTINGS_STORE = "0xf96f9363ac5a64c058bf7140723226804d74c0dab2dd27516fb441a180cd763b";
|
|
157
158
|
var TRADEPORT_KIOSK_LISTING_STORE = "0xbff3161b047fb8b727883838c09b08afa9e0dd0f5488bde9e99e80643da9b9e0";
|
|
158
159
|
var TRADEPORT_KIOSK_TRANSFERS_STORE = "0xe0f61b6915d3fd4ec8bbe4618514e2152a82841605bfa00cde22ace434153a1b";
|
|
@@ -162,7 +163,7 @@ var TRADEPORT_KIOSK_BIDDING_ESCROW_KIOSK = "0x151fbe627d3f8de855f424c879ea2176d8
|
|
|
162
163
|
var TRADEPORT_KIOSK_BID_NONCE_TYPE = "0xec175e537be9e48f75fa6929291de6454d2502f1091feb22c0d26a22821bbf28::kiosk_biddings::Bid";
|
|
163
164
|
var TRADEPORT_PRICE_LOCK_PACKAGE = "0x3cb532a2548290780a3d70ad6f4f06abc5bebb75ec6f8dd0197d4d2b2860c5d8";
|
|
164
165
|
var TRADEPORT_PRICE_LOCK_STORE = "0x4b705de46a79b29276baf45009bc7d6f70cc0f1407f0c9e03cac5729c0c47946";
|
|
165
|
-
var TRADEPORT_MULTI_BID_PACKAGE = "
|
|
166
|
+
var TRADEPORT_MULTI_BID_PACKAGE = "0x63ce6caee2ba264e92bca2d160036eb297d99b2d91d4db89d48a9bffca66e55b";
|
|
166
167
|
var TRADEPORT_MULTI_BID_PACKAGE_ORIGINAL = "0x53134eb544c5a0b5085e99efaf7eab13b28ad123de35d61f941f8c8c40b72033";
|
|
167
168
|
var TRADEPORT_MULTI_BID_STORE = "0x8aaed7e884343fb8b222c721d02eaac2c6ae2abbb4ddcdf16cb55cf8754ee860";
|
|
168
169
|
var DexConstants = {
|
|
@@ -1143,6 +1144,7 @@ var DYNAMIC_COLLECTION_IDS = [
|
|
|
1143
1144
|
"75381a59-abde-4e4b-aac9-b1c5ba10b4da"
|
|
1144
1145
|
// Claynosaurz: Phantom Purr-ize Patch
|
|
1145
1146
|
];
|
|
1147
|
+
var XOCIETY_FRONTIER_COLLECTION_ID = "9a0fcf4f-c77c-42d8-acad-5054e025eb53";
|
|
1146
1148
|
|
|
1147
1149
|
// src/graphql/queries/fetchNftsById.ts
|
|
1148
1150
|
var import_graphql_request5 = require("graphql-request");
|
|
@@ -2797,6 +2799,22 @@ async function addTradePortUnlistTxHandler(txData) {
|
|
|
2797
2799
|
...txData,
|
|
2798
2800
|
kioskTx
|
|
2799
2801
|
});
|
|
2802
|
+
if (txData?.collectionId === XOCIETY_FRONTIER_COLLECTION_ID) {
|
|
2803
|
+
const borrowedItem = await takeAndBorrowNftFromKiosk({
|
|
2804
|
+
tx: txData?.tx,
|
|
2805
|
+
transferPolicies: txData?.transferPolicies,
|
|
2806
|
+
kioskTx,
|
|
2807
|
+
kioskClient: txData?.kioskClient,
|
|
2808
|
+
nftTokenId: txData?.nftTokenId,
|
|
2809
|
+
nftType: txData?.nftType,
|
|
2810
|
+
suiClient: txData?.suiClient,
|
|
2811
|
+
kioskOwner: txData?.seller
|
|
2812
|
+
});
|
|
2813
|
+
txData?.tx.transferObjects(
|
|
2814
|
+
[txData?.tx.object(borrowedItem)],
|
|
2815
|
+
txData?.tx.pure.address(addLeadingZerosAfter0x(txData?.seller))
|
|
2816
|
+
);
|
|
2817
|
+
}
|
|
2800
2818
|
}
|
|
2801
2819
|
});
|
|
2802
2820
|
}
|
|
@@ -4483,6 +4501,22 @@ async function addTradePortBuyTxHandler(txData) {
|
|
|
4483
4501
|
...txData,
|
|
4484
4502
|
kioskTx
|
|
4485
4503
|
});
|
|
4504
|
+
if (txData?.collectionId === XOCIETY_FRONTIER_COLLECTION_ID) {
|
|
4505
|
+
const borrowedItem = await takeAndBorrowNftFromKiosk({
|
|
4506
|
+
tx: txData?.tx,
|
|
4507
|
+
transferPolicies: txData?.transferPolicies,
|
|
4508
|
+
kioskTx,
|
|
4509
|
+
kioskClient: txData?.kioskClient,
|
|
4510
|
+
nftTokenId: txData?.nftTokenId,
|
|
4511
|
+
nftType: txData?.nftType,
|
|
4512
|
+
suiClient: txData?.suiClient,
|
|
4513
|
+
kioskOwner: txData?.buyer
|
|
4514
|
+
});
|
|
4515
|
+
txData?.tx.transferObjects(
|
|
4516
|
+
[txData?.tx.object(borrowedItem)],
|
|
4517
|
+
txData?.tx.pure.address(addLeadingZerosAfter0x(txData?.buyer))
|
|
4518
|
+
);
|
|
4519
|
+
}
|
|
4486
4520
|
}
|
|
4487
4521
|
});
|
|
4488
4522
|
}
|
|
@@ -6390,19 +6424,6 @@ async function addTradeportKioskDirectTransferTx(txData, nfts, suiClient) {
|
|
|
6390
6424
|
if (nfts.length === 0) {
|
|
6391
6425
|
return;
|
|
6392
6426
|
}
|
|
6393
|
-
const [receiverKiosk, receiverKioskCap] = tx.moveCall({
|
|
6394
|
-
target: "0x2::kiosk::new",
|
|
6395
|
-
arguments: []
|
|
6396
|
-
});
|
|
6397
|
-
const recipientAddressWithPrefix = addLeadingZerosAfter0x(recipientAddress);
|
|
6398
|
-
tx.moveCall({
|
|
6399
|
-
target: "0x2::kiosk::set_owner_custom",
|
|
6400
|
-
arguments: [
|
|
6401
|
-
tx.object(receiverKiosk),
|
|
6402
|
-
tx.object(receiverKioskCap),
|
|
6403
|
-
tx.pure.address(recipientAddressWithPrefix)
|
|
6404
|
-
]
|
|
6405
|
-
});
|
|
6406
6427
|
const transferPolicies = new Map(
|
|
6407
6428
|
await Promise.all(
|
|
6408
6429
|
nfts.map(
|
|
@@ -6433,12 +6454,11 @@ async function addTradeportKioskDirectTransferTx(txData, nfts, suiClient) {
|
|
|
6433
6454
|
shouldUseSharedKioskTx: false,
|
|
6434
6455
|
async runCommands(kioskTx) {
|
|
6435
6456
|
tx.moveCall({
|
|
6436
|
-
target: "
|
|
6457
|
+
target: "0x4acc0efedd243eb61ab8f8a3e9c24b09a1838c43d16029e8c8985004dfd67239::kiosk_transfers::direct_transfer_to_receiver",
|
|
6437
6458
|
arguments: [
|
|
6438
6459
|
tx.object(kioskTx.getKiosk()),
|
|
6439
6460
|
tx.object(kioskTx.getKioskCap()),
|
|
6440
|
-
tx.
|
|
6441
|
-
tx.object(receiverKioskCap),
|
|
6461
|
+
tx.pure.address(recipientAddress),
|
|
6442
6462
|
tx.pure.id(nft.token_id),
|
|
6443
6463
|
tx.object(transferPolicies.get(nft.id).id),
|
|
6444
6464
|
royaltyCoin
|
|
@@ -6448,12 +6468,6 @@ async function addTradeportKioskDirectTransferTx(txData, nfts, suiClient) {
|
|
|
6448
6468
|
}
|
|
6449
6469
|
});
|
|
6450
6470
|
}
|
|
6451
|
-
tx.transferObjects([receiverKioskCap], tx.pure.address(recipientAddressWithPrefix));
|
|
6452
|
-
tx.moveCall({
|
|
6453
|
-
target: "0x2::transfer::public_share_object",
|
|
6454
|
-
arguments: [receiverKiosk],
|
|
6455
|
-
typeArguments: ["0x2::kiosk::Kiosk"]
|
|
6456
|
-
});
|
|
6457
6471
|
destroyZeroCoin({ tx, coin: royaltyCoin });
|
|
6458
6472
|
}
|
|
6459
6473
|
async function canBeTransferedDirectly(suiClient, collectionChainState) {
|
|
@@ -6462,7 +6476,7 @@ async function canBeTransferedDirectly(suiClient, collectionChainState) {
|
|
|
6462
6476
|
async function getTransferPolicyForDirectTransfer(suiClient, collectionChainState, validateRules = false) {
|
|
6463
6477
|
const candidatePolicy = collectionChainState?.transfer_policies?.find(
|
|
6464
6478
|
(policy) => !policy.is_origin_byte && !policy.is_disabled && policy.rules.length > 0 && policy.rules?.filter(
|
|
6465
|
-
(rule) => rule.type !== "kiosk_lock_rule" && rule.type !== "royalty_rule"
|
|
6479
|
+
(rule) => rule.type !== "kiosk_lock_rule" && rule.type !== "royalty_rule" && rule.type !== "personal_kiosk_rule"
|
|
6466
6480
|
).length === 0
|
|
6467
6481
|
);
|
|
6468
6482
|
if (validateRules && candidatePolicy) {
|
|
@@ -6470,7 +6484,9 @@ async function getTransferPolicyForDirectTransfer(suiClient, collectionChainStat
|
|
|
6470
6484
|
suiClient,
|
|
6471
6485
|
transferPolicyId: candidatePolicy.id
|
|
6472
6486
|
});
|
|
6473
|
-
if (!ruleNames.every(
|
|
6487
|
+
if (!ruleNames.every(
|
|
6488
|
+
(name) => name.startsWith(MYSTEN_TRANSFER_POLICY_RULES_PACKAGE_ID) || name.startsWith(MYSTEN_TRANSFER_POLICY_RULES_PACKAGE_ID_V2)
|
|
6489
|
+
)) {
|
|
6474
6490
|
return void 0;
|
|
6475
6491
|
}
|
|
6476
6492
|
}
|
|
@@ -7261,7 +7277,7 @@ var transferNfts = async ({ nftIds, recipientAddress, walletAddress }, context)
|
|
|
7261
7277
|
await addOriginByteTransferNftTx(txData);
|
|
7262
7278
|
continue;
|
|
7263
7279
|
}
|
|
7264
|
-
if (txData?.senderKiosk && !hasNativeKioskTransferPolicyRules(txData?.transferPolicies)) {
|
|
7280
|
+
if (txData?.senderKiosk && (!hasNativeKioskTransferPolicyRules(txData?.transferPolicies) || nft?.collection?.id === XOCIETY_FRONTIER_COLLECTION_ID)) {
|
|
7265
7281
|
await kioskTxWrapper({
|
|
7266
7282
|
tx: txData?.tx,
|
|
7267
7283
|
kioskClient: txData?.kioskClient,
|