@tradeport/sui-trading-sdk 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @tradeport/sui-trading-sdk
2
2
 
3
+ ## 0.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 485e023: Bug Fix: Fixed handling of Suiduckz and Cyberpills txs to list on TradePort's normal contract since they are untradable on OB or Kiosk contracts
8
+
3
9
  ## 0.0.1
4
10
 
5
11
  ### Patch Changes
package/dist/index.js CHANGED
@@ -317,27 +317,50 @@ var getSharedObjects = async (nftType) => {
317
317
  };
318
318
  };
319
319
 
320
- // src/apiClients/kioskClient.ts
321
- var import_kiosk = require("@mysten/kiosk");
322
- var kioskClient = new import_kiosk.KioskClient({
323
- // @ts-ignore
324
- client: suiClient_default,
325
- network: import_kiosk.Network.MAINNET
326
- });
327
- var kioskClient_default = kioskClient;
320
+ // src/graphql/queries/fetchTransferPoliciesByType.ts
321
+ var import_graphql_request7 = require("graphql-request");
322
+ var fetchTransferPoliciesByType = import_graphql_request7.gql`
323
+ query fetchTransferPoliciesByType($type: String!) {
324
+ transfer_policies_by_type(type: $type) {
325
+ id
326
+ is_origin_byte
327
+ rules
328
+ type
329
+ }
330
+ }
331
+ `;
328
332
 
329
- // src/helpers/hasTransferPolicyRules.ts
330
- var hasTransferPolicyRules = async (nftType) => {
333
+ // src/helpers/kiosk/getKioskTransferPolicies.ts
334
+ var getKioskTransferPolicies = async (nftType) => {
331
335
  const nftTypeSplit = nftType?.split("::");
332
336
  if (nftTypeSplit?.[0])
333
337
  nftTypeSplit[0] = addLeadingZerosAfter0x(nftTypeSplit[0]);
334
- const res = await kioskClient_default.getTransferPolicies({ type: nftTypeSplit?.join("::") });
335
- return res?.some((policy) => policy?.rules?.length > 0);
338
+ const res = await gqlChainRequest({
339
+ chain: "sui",
340
+ query: fetchTransferPoliciesByType,
341
+ variables: { type: nftTypeSplit?.join("::") }
342
+ });
343
+ return res?.transfer_policies_by_type?.filter((policy) => !policy?.is_origin_byte);
344
+ };
345
+
346
+ // src/helpers/hasTransferPolicyRules.ts
347
+ var hasTransferPolicyRules = async (nftType) => {
348
+ const transferPolicies = await getKioskTransferPolicies(nftType);
349
+ return transferPolicies?.some((policy) => policy?.rules?.length > 0);
336
350
  };
337
351
 
338
352
  // src/helpers/kiosk/getRulePackageId.ts
339
353
  var import_kiosk2 = require("@mysten/kiosk");
340
354
 
355
+ // src/apiClients/kioskClient.ts
356
+ var import_kiosk = require("@mysten/kiosk");
357
+ var kioskClient = new import_kiosk.KioskClient({
358
+ // @ts-ignore
359
+ client: suiClient_default,
360
+ network: import_kiosk.Network.MAINNET
361
+ });
362
+ var kioskClient_default = kioskClient;
363
+
341
364
  // src/utils/addHexPrefix.ts
342
365
  function addHexPrefix(input) {
343
366
  if (input.startsWith("0x")) {
@@ -372,8 +395,8 @@ var isTradePortKioskBid = (bidType) => bidType === TRADEPORT_KIOSK_BID_NONCE_TYP
372
395
  var import_kiosk3 = require("@mysten/kiosk");
373
396
 
374
397
  // src/graphql/queries/fetchKiosksByOwner.ts
375
- var import_graphql_request7 = require("graphql-request");
376
- var fetchKiosksByOwner = import_graphql_request7.gql`
398
+ var import_graphql_request8 = require("graphql-request");
399
+ var fetchKiosksByOwner = import_graphql_request8.gql`
377
400
  query fetchKiosksByOwner($ownerAddress: String!) {
378
401
  kiosks: kiosks_by_owner_address(owner_address: $ownerAddress) {
379
402
  id
@@ -386,8 +409,8 @@ var fetchKiosksByOwner = import_graphql_request7.gql`
386
409
  `;
387
410
 
388
411
  // src/graphql/queries/fetchOwnerCapByKiosk.ts
389
- var import_graphql_request8 = require("graphql-request");
390
- var fetchOwnerCapByKiosk = import_graphql_request8.gql`
412
+ var import_graphql_request9 = require("graphql-request");
413
+ var fetchOwnerCapByKiosk = import_graphql_request9.gql`
391
414
  query fetchOwnerCapByKiosk($kioskId: String!) {
392
415
  ownerCap: kiosk_owner_cap_by_kiosk(kiosk_id: $kioskId) {
393
416
  id
@@ -397,8 +420,8 @@ var fetchOwnerCapByKiosk = import_graphql_request8.gql`
397
420
  `;
398
421
 
399
422
  // src/graphql/queries/fetchPersonalCapByKiosk.ts
400
- var import_graphql_request9 = require("graphql-request");
401
- var fetchPersonalCapByKiosk = import_graphql_request9.gql`
423
+ var import_graphql_request10 = require("graphql-request");
424
+ var fetchPersonalCapByKiosk = import_graphql_request10.gql`
402
425
  query fetchPersonalCapByKiosk($kioskId: String!) {
403
426
  personalCap: personal_kiosk_cap_by_kiosk(kiosk_id: $kioskId) {
404
427
  id
@@ -515,8 +538,8 @@ var createOBKiosk = async ({ txBlock, createMethod = "new" }) => {
515
538
  };
516
539
 
517
540
  // src/helpers/originByte/getOBKiosk.ts
518
- var import_graphql_request10 = require("graphql-request");
519
- var fetchAccountKiosks = import_graphql_request10.gql`
541
+ var import_graphql_request11 = require("graphql-request");
542
+ var fetchAccountKiosks = import_graphql_request11.gql`
520
543
  query fetchAccountKiosks($accountAddress: String!) {
521
544
  kiosks: kiosks_by_owner_address(owner_address: $accountAddress) {
522
545
  id
@@ -1544,8 +1567,8 @@ var acceptCollectionBid = async ({
1544
1567
  var import_transactions2 = require("@mysten/sui.js/transactions");
1545
1568
 
1546
1569
  // src/graphql/queries/fetchBidsById.ts
1547
- var import_graphql_request11 = require("graphql-request");
1548
- var fetchBidsById = import_graphql_request11.gql`
1570
+ var import_graphql_request12 = require("graphql-request");
1571
+ var fetchBidsById = import_graphql_request12.gql`
1549
1572
  query fetchBidsById($bidIds: [uuid!]) {
1550
1573
  bids(where: { id: { _in: $bidIds } }) {
1551
1574
  nonce
@@ -1633,8 +1656,8 @@ var acceptNftBids = async ({ bidIds }) => {
1633
1656
  var import_transactions3 = require("@mysten/sui.js/transactions");
1634
1657
 
1635
1658
  // src/graphql/queries/fetchListingsById.ts
1636
- var import_graphql_request12 = require("graphql-request");
1637
- var fetchListingsById = import_graphql_request12.gql`
1659
+ var import_graphql_request13 = require("graphql-request");
1660
+ var fetchListingsById = import_graphql_request13.gql`
1638
1661
  query fetchListingsById($listingIds: [uuid!]) {
1639
1662
  listings(where: { id: { _in: $listingIds } }) {
1640
1663
  seller
@@ -1669,8 +1692,8 @@ var addThirdPartyTxFee = async (txBlock, price) => {
1669
1692
  };
1670
1693
 
1671
1694
  // src/graphql/queries/fetchCommissionByListingId.ts
1672
- var import_graphql_request13 = require("graphql-request");
1673
- var fetchCommissionByNftContractId = import_graphql_request13.gql`
1695
+ var import_graphql_request14 = require("graphql-request");
1696
+ var fetchCommissionByNftContractId = import_graphql_request14.gql`
1674
1697
  query fetchCommissionByNftContractId($nftContractId: uuid!) {
1675
1698
  commissions(where: { contract_id: { _eq: $nftContractId } }) {
1676
1699
  is_custodial
@@ -2699,8 +2722,8 @@ var listNfts = async ({ nfts, walletAddress }) => {
2699
2722
  var import_transactions6 = require("@mysten/sui.js/transactions");
2700
2723
 
2701
2724
  // src/graphql/queries/fetchCollectionsById.ts
2702
- var import_graphql_request14 = require("graphql-request");
2703
- var fetchCollectionsById = import_graphql_request14.gql`
2725
+ var import_graphql_request15 = require("graphql-request");
2726
+ var fetchCollectionsById = import_graphql_request15.gql`
2704
2727
  query fetchCollectionsById($collectionIds: [uuid!]) {
2705
2728
  collections(where: { id: { _in: $collectionIds } }) {
2706
2729
  id
@@ -2710,7 +2733,7 @@ var fetchCollectionsById = import_graphql_request14.gql`
2710
2733
  }
2711
2734
  }
2712
2735
  `;
2713
- var fetchCollectionsByIdWithOneNft = import_graphql_request14.gql`
2736
+ var fetchCollectionsByIdWithOneNft = import_graphql_request15.gql`
2714
2737
  query fetchCollectionsByIdWithOneNft($collectionIds: [uuid!]) {
2715
2738
  collections(where: { id: { _in: $collectionIds } }) {
2716
2739
  id
@@ -2745,12 +2768,9 @@ var getTradeportBiddingContractBidAmount = ({ bidAmount, collectionId }) => {
2745
2768
 
2746
2769
  // src/helpers/hasRoyaltyRule.ts
2747
2770
  var hasRoyaltyRule = async (nftType) => {
2748
- const nftTypeSplit = nftType?.split("::");
2749
- if (nftTypeSplit?.[0])
2750
- nftTypeSplit[0] = addLeadingZerosAfter0x(nftTypeSplit[0]);
2751
- const res = await kioskClient_default.getTransferPolicies({ type: nftTypeSplit?.join("::") });
2752
- return res?.some(
2753
- (policy) => policy?.rules?.filter((rule) => rule?.includes("royalty_rule"))?.length > 0
2771
+ const transferPolicies = await getKioskTransferPolicies(nftType);
2772
+ return transferPolicies?.some(
2773
+ (policy) => policy?.rules?.filter((rule) => rule?.type?.includes("royalty_rule"))?.length > 0
2754
2774
  );
2755
2775
  };
2756
2776
 
@@ -2783,36 +2803,48 @@ function addTradePortKioskCollectionBidTx({
2783
2803
  nftType,
2784
2804
  bidAmount,
2785
2805
  sharedObjects,
2786
- bidder,
2787
2806
  royaltyRulePackageId,
2788
2807
  royaltyRuleModule
2789
2808
  }) {
2790
2809
  const { transferPolicy } = sharedObjects;
2791
- const marketFeePrice = getMarketFeePrice({ price: bidAmount, collectionId });
2792
- const fee = txBlock.moveCall({
2793
- target: `${royaltyRulePackageId}::${royaltyRuleModule}::fee_amount`,
2794
- arguments: [txBlock.object(transferPolicy), txBlock.pure(bidAmount)],
2795
- typeArguments: [nftType]
2796
- });
2797
- const [coin1, coin2] = splitCoins({
2798
- txBlock,
2799
- amounts: [txBlock.pure(bidAmount + marketFeePrice), txBlock.object(fee)]
2800
- });
2801
- if (!coin1 || !coin2)
2802
- throw new Error("Coin could not be split");
2803
- txBlock.mergeCoins(txBlock.object(coin1), [txBlock.object(coin2)]);
2810
+ const marketFeePrice = getMarketFeePrice({
2811
+ price: bidAmount,
2812
+ collectionId
2813
+ });
2814
+ let coin;
2815
+ if (royaltyRulePackageId && royaltyRuleModule) {
2816
+ const fee = txBlock.moveCall({
2817
+ target: `${royaltyRulePackageId}::${royaltyRuleModule}::fee_amount`,
2818
+ arguments: [txBlock.object(transferPolicy), txBlock.pure(bidAmount)],
2819
+ typeArguments: [nftType]
2820
+ });
2821
+ const [coin1, coin2] = splitCoins({
2822
+ txBlock,
2823
+ amounts: [txBlock.pure(bidAmount + marketFeePrice), txBlock.object(fee)]
2824
+ });
2825
+ coin = coin1;
2826
+ if (!coin1 || !coin2)
2827
+ throw new Error("Coin could not be split");
2828
+ txBlock.mergeCoins(txBlock.object(coin1), [txBlock.object(coin2)]);
2829
+ } else {
2830
+ const [coin1] = splitCoins({
2831
+ txBlock,
2832
+ amounts: [txBlock.pure(bidAmount + marketFeePrice)]
2833
+ });
2834
+ coin = coin1;
2835
+ }
2804
2836
  txBlock.moveCall({
2805
2837
  target: "0x33a9e4a3089d911c2a2bf16157a1d6a4a8cbd9a2106a98ecbaefe6ed370d7a25::kiosk_biddings::collection_bid",
2806
2838
  arguments: [
2807
2839
  txBlock.object(TRADEPORT_KIOSK_BIDDING_STORE),
2808
2840
  txBlock.pure(bidAmount),
2809
- txBlock.object(coin1),
2841
+ txBlock.object(coin),
2810
2842
  txBlock.pure(marketFeePrice),
2811
2843
  txBlock.pure(TRADEPORT_BENEFICIARY_ADDRESS)
2812
2844
  ],
2813
2845
  typeArguments: [nftType]
2814
2846
  });
2815
- destroyZeroCoin({ txBlock, coin: coin1 });
2847
+ destroyZeroCoin({ txBlock, coin });
2816
2848
  }
2817
2849
  async function addOriginByteCollectionBidTx({
2818
2850
  txBlock,
@@ -3315,8 +3347,8 @@ var removeNftBids = async ({ bidIds }) => {
3315
3347
  var import_transactions10 = require("@mysten/sui.js/transactions");
3316
3348
 
3317
3349
  // src/graphql/queries/fetchCryptoToUsdRate.ts
3318
- var import_graphql_request15 = require("graphql-request");
3319
- var fetchCryptoToUsdRate = import_graphql_request15.gql`
3350
+ var import_graphql_request16 = require("graphql-request");
3351
+ var fetchCryptoToUsdRate = import_graphql_request16.gql`
3320
3352
  query fetchCryptoToUsdRate($crypto: String!) {
3321
3353
  crypto_rates(where: { crypto: { _eq: $crypto }, fiat: { _eq: "USD" } }) {
3322
3354
  crypto
@@ -3354,8 +3386,8 @@ var addOneDollarFee = async (txBlock) => {
3354
3386
  };
3355
3387
 
3356
3388
  // src/graphql/queries/fetchAccountKiosks.ts
3357
- var import_graphql_request16 = require("graphql-request");
3358
- var fetchAccountKiosks2 = import_graphql_request16.gql`
3389
+ var import_graphql_request17 = require("graphql-request");
3390
+ var fetchAccountKiosks2 = import_graphql_request17.gql`
3359
3391
  query fetchAccountKiosks($accountAddress: String!) {
3360
3392
  kiosks: kiosks_by_owner_address(owner_address: $accountAddress) {
3361
3393
  id