@tradeport/sui-trading-sdk 0.1.13 → 0.1.14
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 +6 -0
- package/dist/index.js +111 -45
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +111 -45
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/methods/acceptNftBids/addAcceptNftBidTxs.ts +1 -5
- package/src/methods/buyListings/addBuyListingTxs.ts +1 -1
- package/src/methods/claimNfts/addClaimNftsTxs.ts +70 -2
- package/src/methods/claimNfts/claimNfts.ts +41 -16
- package/src/methods/listNfts/addListTxs.ts +1 -1
- package/src/methods/placeCollectionBids/addPlaceCollectionBidTxs.ts +1 -1
- package/src/methods/placeNftBids/addPlaceNftBidTxs.ts +1 -1
- package/src/methods/removeNftBids/addRemoveNftBidTxs.ts +1 -1
- package/src/methods/transferNfts/addTransferNftTx.ts +3 -22
- package/src/methods/unlistListings/addUnlistListingTxs.ts +1 -1
package/package.json
CHANGED
|
@@ -5,7 +5,6 @@ import {
|
|
|
5
5
|
BLUEMOVE_OFFER_DATA_OBJECT,
|
|
6
6
|
BLUEMOVE_ROYALTY_COLLECTION_OBJECT,
|
|
7
7
|
TRADEPORT_BIDDING_STORE,
|
|
8
|
-
TRADEPORT_KIOSK_BIDDING_ESCROW_KIOSK,
|
|
9
8
|
TRADEPORT_KIOSK_BIDDING_STORE,
|
|
10
9
|
} from '../../constants';
|
|
11
10
|
import { getRoyaltyRuleModule } from '../../helpers/getRoyaltyRuleModule';
|
|
@@ -70,15 +69,13 @@ export async function addTradeportKioskAcceptNftBidTx({
|
|
|
70
69
|
|
|
71
70
|
const [feeCoin, transferRequest] = tx.moveCall({
|
|
72
71
|
target:
|
|
73
|
-
'
|
|
72
|
+
'0xc94af80a10796ad0732cca33b38a858f712256da0763a65bafb2a63cf3e6a0d0::kiosk_biddings::accept_bid_with_purchase_cap',
|
|
74
73
|
arguments: [
|
|
75
74
|
tx.object(TRADEPORT_KIOSK_BIDDING_STORE),
|
|
76
75
|
tx.pure.address(bidNonce),
|
|
77
|
-
tx.object(TRADEPORT_KIOSK_BIDDING_ESCROW_KIOSK),
|
|
78
76
|
tx.object(kioskTx.kiosk.value ?? kioskTx.kiosk),
|
|
79
77
|
tx.object(kioskTx.kioskCap.value ?? kioskTx.kioskCap),
|
|
80
78
|
tx.pure.address(nftTokenId),
|
|
81
|
-
tx.object(transferPolicy),
|
|
82
79
|
],
|
|
83
80
|
typeArguments: [nftType],
|
|
84
81
|
});
|
|
@@ -95,7 +92,6 @@ export async function addTradeportKioskAcceptNftBidTx({
|
|
|
95
92
|
nftType,
|
|
96
93
|
price: '0',
|
|
97
94
|
transferRequest,
|
|
98
|
-
kioskToLockRuleProve: TRADEPORT_KIOSK_BIDDING_ESCROW_KIOSK,
|
|
99
95
|
shouldSkipKioskLocking: true,
|
|
100
96
|
shouldSkipResolvingRoyaltyRule: true,
|
|
101
97
|
});
|
|
@@ -76,7 +76,7 @@ export const addTradeportKioskBuyTx = async ({
|
|
|
76
76
|
|
|
77
77
|
const [kioskItem, transferRequest, kioskPrice] = tx.moveCall({
|
|
78
78
|
target:
|
|
79
|
-
'
|
|
79
|
+
'0xc94af80a10796ad0732cca33b38a858f712256da0763a65bafb2a63cf3e6a0d0::kiosk_listings::buy',
|
|
80
80
|
arguments: [
|
|
81
81
|
tx.object(TRADEPORT_KIOSK_LISTING_STORE),
|
|
82
82
|
tx.object(sellerKiosk),
|
|
@@ -48,7 +48,7 @@ export const addClaimAcceptedBidNftTx = async ({
|
|
|
48
48
|
|
|
49
49
|
const [transferRequest] = tx.moveCall({
|
|
50
50
|
target:
|
|
51
|
-
'
|
|
51
|
+
'0xc94af80a10796ad0732cca33b38a858f712256da0763a65bafb2a63cf3e6a0d0::kiosk_biddings::claim_bid',
|
|
52
52
|
arguments: [
|
|
53
53
|
tx.object(TRADEPORT_KIOSK_BIDDING_STORE),
|
|
54
54
|
tx.object(TRADEPORT_KIOSK_BIDDING_ESCROW_KIOSK),
|
|
@@ -70,6 +70,40 @@ export const addClaimAcceptedBidNftTx = async ({
|
|
|
70
70
|
});
|
|
71
71
|
};
|
|
72
72
|
|
|
73
|
+
export const addClaimAcceptedBidNftWithPurchaseCapTx = async ({
|
|
74
|
+
tx,
|
|
75
|
+
kioskTx,
|
|
76
|
+
sharedObjects,
|
|
77
|
+
nftTokenId,
|
|
78
|
+
nftType,
|
|
79
|
+
sellerKiosk,
|
|
80
|
+
}: ClaimAcceptedBidNftTx) => {
|
|
81
|
+
const { transferPolicy } = sharedObjects;
|
|
82
|
+
|
|
83
|
+
const [transferRequest] = tx.moveCall({
|
|
84
|
+
target:
|
|
85
|
+
'0xc94af80a10796ad0732cca33b38a858f712256da0763a65bafb2a63cf3e6a0d0::kiosk_biddings::claim_bid_with_purchase_cap',
|
|
86
|
+
arguments: [
|
|
87
|
+
tx.object(TRADEPORT_KIOSK_BIDDING_STORE),
|
|
88
|
+
tx.object(sellerKiosk),
|
|
89
|
+
tx.object(kioskTx.kiosk.value ?? kioskTx.kiosk),
|
|
90
|
+
tx.object(kioskTx.kioskCap.value ?? kioskTx.kioskCap),
|
|
91
|
+
tx.pure.address(nftTokenId),
|
|
92
|
+
tx.object(transferPolicy),
|
|
93
|
+
],
|
|
94
|
+
typeArguments: [nftType],
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
await resolveTransferPolicies({
|
|
98
|
+
tx,
|
|
99
|
+
kioskTx,
|
|
100
|
+
nftType,
|
|
101
|
+
price: '0',
|
|
102
|
+
transferRequest,
|
|
103
|
+
shouldSkipKioskLocking: true,
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
|
|
73
107
|
export const addClaimTransferredNftTx = async ({
|
|
74
108
|
tx,
|
|
75
109
|
sharedObjects,
|
|
@@ -81,7 +115,7 @@ export const addClaimTransferredNftTx = async ({
|
|
|
81
115
|
|
|
82
116
|
const [transferRequest] = tx.moveCall({
|
|
83
117
|
target:
|
|
84
|
-
'
|
|
118
|
+
'0x49642273ca7db3d942f9fd810c93467974c40e73ea7f03e8e7a632f1222aca73::kiosk_transfers::claim',
|
|
85
119
|
arguments: [
|
|
86
120
|
tx.object(TRADEPORT_KIOSK_TRANSFERS_STORE),
|
|
87
121
|
tx.object(TRADEPORT_KIOSK_TRANSFERS_ESCROW_KIOSK),
|
|
@@ -102,3 +136,37 @@ export const addClaimTransferredNftTx = async ({
|
|
|
102
136
|
shouldSkipKioskLocking: true,
|
|
103
137
|
});
|
|
104
138
|
};
|
|
139
|
+
|
|
140
|
+
export const addClaimTransferredNftWithPurchaseCapTx = async ({
|
|
141
|
+
tx,
|
|
142
|
+
sharedObjects,
|
|
143
|
+
kioskTx,
|
|
144
|
+
nftTokenId,
|
|
145
|
+
nftType,
|
|
146
|
+
sellerKiosk,
|
|
147
|
+
}: ClaimTransferredNftTx) => {
|
|
148
|
+
const { transferPolicy } = sharedObjects;
|
|
149
|
+
|
|
150
|
+
const [transferRequest] = tx.moveCall({
|
|
151
|
+
target:
|
|
152
|
+
'0x49642273ca7db3d942f9fd810c93467974c40e73ea7f03e8e7a632f1222aca73::kiosk_transfers::claim_with_purchase_cap',
|
|
153
|
+
arguments: [
|
|
154
|
+
tx.object(TRADEPORT_KIOSK_TRANSFERS_STORE),
|
|
155
|
+
tx.object(sellerKiosk),
|
|
156
|
+
tx.object(kioskTx.kiosk.value ?? kioskTx.kiosk),
|
|
157
|
+
tx.object(kioskTx.kioskCap.value ?? kioskTx.kioskCap),
|
|
158
|
+
tx.pure.address(nftTokenId),
|
|
159
|
+
tx.object(transferPolicy),
|
|
160
|
+
],
|
|
161
|
+
typeArguments: [nftType],
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
await resolveTransferPolicies({
|
|
165
|
+
tx,
|
|
166
|
+
kioskTx,
|
|
167
|
+
nftType,
|
|
168
|
+
price: '0',
|
|
169
|
+
transferRequest,
|
|
170
|
+
shouldSkipKioskLocking: true,
|
|
171
|
+
});
|
|
172
|
+
};
|
|
@@ -7,8 +7,10 @@ import { getSharedObjects } from '../../helpers/getSharedObjects';
|
|
|
7
7
|
import { kioskTxWrapper } from '../../helpers/kiosk/kioskTxWrapper';
|
|
8
8
|
import {
|
|
9
9
|
addClaimAcceptedBidNftTx,
|
|
10
|
+
addClaimAcceptedBidNftWithPurchaseCapTx,
|
|
10
11
|
addClaimTradeHoldTx,
|
|
11
12
|
addClaimTransferredNftTx,
|
|
13
|
+
addClaimTransferredNftWithPurchaseCapTx,
|
|
12
14
|
} from './addClaimNftsTxs';
|
|
13
15
|
|
|
14
16
|
export type ClaimTradeHoldTx = {
|
|
@@ -105,14 +107,26 @@ export const claimNfts = async (
|
|
|
105
107
|
sellerKiosk: nft?.chain_state?.kiosk_id,
|
|
106
108
|
};
|
|
107
109
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
110
|
+
try {
|
|
111
|
+
await kioskTxWrapper({
|
|
112
|
+
tx,
|
|
113
|
+
kioskOwner: txData?.claimer,
|
|
114
|
+
kiosk: txData?.sellerKiosk,
|
|
115
|
+
async runCommands(kioskTx) {
|
|
116
|
+
await addClaimAcceptedBidNftWithPurchaseCapTx({ ...txData, kioskTx });
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
} catch {
|
|
120
|
+
await kioskTxWrapper({
|
|
121
|
+
tx,
|
|
122
|
+
kioskOwner: txData?.claimer,
|
|
123
|
+
kiosk: txData?.sellerKiosk,
|
|
124
|
+
async runCommands(kioskTx) {
|
|
125
|
+
await addClaimAcceptedBidNftTx({ ...txData, kioskTx });
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
|
|
116
130
|
continue;
|
|
117
131
|
}
|
|
118
132
|
|
|
@@ -127,14 +141,25 @@ export const claimNfts = async (
|
|
|
127
141
|
sellerKiosk: nft?.chain_state?.kiosk_id,
|
|
128
142
|
};
|
|
129
143
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
144
|
+
try {
|
|
145
|
+
await kioskTxWrapper({
|
|
146
|
+
tx,
|
|
147
|
+
kioskOwner: txData?.claimer,
|
|
148
|
+
kiosk: txData?.sellerKiosk,
|
|
149
|
+
async runCommands(kioskTx) {
|
|
150
|
+
await addClaimTransferredNftWithPurchaseCapTx({ ...txData, kioskTx });
|
|
151
|
+
},
|
|
152
|
+
});
|
|
153
|
+
} catch {
|
|
154
|
+
await kioskTxWrapper({
|
|
155
|
+
tx,
|
|
156
|
+
kioskOwner: txData?.claimer,
|
|
157
|
+
kiosk: txData?.sellerKiosk,
|
|
158
|
+
async runCommands(kioskTx) {
|
|
159
|
+
await addClaimTransferredNftTx({ ...txData, kioskTx });
|
|
160
|
+
},
|
|
161
|
+
});
|
|
162
|
+
}
|
|
138
163
|
}
|
|
139
164
|
|
|
140
165
|
nftsForTracking.push({
|
|
@@ -97,7 +97,7 @@ export async function addTradePortKioskListTx({
|
|
|
97
97
|
|
|
98
98
|
tx.moveCall({
|
|
99
99
|
target:
|
|
100
|
-
'
|
|
100
|
+
'0xc94af80a10796ad0732cca33b38a858f712256da0763a65bafb2a63cf3e6a0d0::kiosk_listings::list',
|
|
101
101
|
arguments: [
|
|
102
102
|
tx.object(TRADEPORT_KIOSK_LISTING_STORE),
|
|
103
103
|
tx.object(kioskTx.kiosk.value ?? kioskTx.kiosk),
|
|
@@ -82,7 +82,7 @@ export function addTradePortKioskCollectionBidTx({
|
|
|
82
82
|
|
|
83
83
|
tx.moveCall({
|
|
84
84
|
target:
|
|
85
|
-
'
|
|
85
|
+
'0xc94af80a10796ad0732cca33b38a858f712256da0763a65bafb2a63cf3e6a0d0::kiosk_biddings::collection_bid',
|
|
86
86
|
arguments: [
|
|
87
87
|
tx.object(TRADEPORT_KIOSK_BIDDING_STORE),
|
|
88
88
|
tx.pure.u64(bidAmount),
|
|
@@ -72,7 +72,7 @@ function addTradePortKioskPlaceNftBidTx({
|
|
|
72
72
|
|
|
73
73
|
tx.moveCall({
|
|
74
74
|
target:
|
|
75
|
-
'
|
|
75
|
+
'0xc94af80a10796ad0732cca33b38a858f712256da0763a65bafb2a63cf3e6a0d0::kiosk_biddings::bid',
|
|
76
76
|
arguments: [
|
|
77
77
|
tx.object(TRADEPORT_KIOSK_BIDDING_STORE),
|
|
78
78
|
tx.pure.address(nftTokenId),
|
|
@@ -21,7 +21,7 @@ export function addTradeportRemoveNftBidTx({ tx, bidNonce, nftType }: RemoveNftB
|
|
|
21
21
|
export function addTradeportKioskRemoveNftBidTx({ tx, bidNonce, nftType }: RemoveNftBidTx) {
|
|
22
22
|
tx.moveCall({
|
|
23
23
|
target:
|
|
24
|
-
'
|
|
24
|
+
'0xc94af80a10796ad0732cca33b38a858f712256da0763a65bafb2a63cf3e6a0d0::kiosk_biddings::cancel_bid',
|
|
25
25
|
arguments: [tx.object(TRADEPORT_KIOSK_BIDDING_STORE), tx.pure.address(bidNonce)],
|
|
26
26
|
typeArguments: [nftType],
|
|
27
27
|
});
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
TRADEPORT_KIOSK_TRANSFERS_ESCROW_KIOSK,
|
|
3
|
-
TRADEPORT_KIOSK_TRANSFERS_STORE,
|
|
4
|
-
} from '../../constants';
|
|
5
|
-
import { resolveTransferPolicies } from '../../helpers/kiosk/resolveTransferPolicies';
|
|
1
|
+
import { TRADEPORT_KIOSK_TRANSFERS_STORE } from '../../constants';
|
|
6
2
|
import { getOBKiosk } from '../../helpers/originByte/getOBKiosk';
|
|
7
3
|
import { addLeadingZerosAfter0x } from '../../utils/addLeadingZerosAfter0x';
|
|
8
4
|
import { type TransferNftTx } from './transferNfts';
|
|
@@ -39,36 +35,21 @@ export async function addOriginByteTransferNftTx({
|
|
|
39
35
|
|
|
40
36
|
export async function addTradeportKioskTransferTx({
|
|
41
37
|
tx,
|
|
42
|
-
sharedObjects,
|
|
43
38
|
kioskTx,
|
|
44
39
|
nftTokenId,
|
|
45
40
|
nftType,
|
|
46
41
|
recipientAddress,
|
|
47
42
|
}: TransferNftTx) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const [transferRequest] = tx.moveCall({
|
|
43
|
+
tx.moveCall({
|
|
51
44
|
target:
|
|
52
|
-
'
|
|
45
|
+
'0x49642273ca7db3d942f9fd810c93467974c40e73ea7f03e8e7a632f1222aca73::kiosk_transfers::transfer_with_purchase_capability',
|
|
53
46
|
arguments: [
|
|
54
47
|
tx.object(TRADEPORT_KIOSK_TRANSFERS_STORE),
|
|
55
|
-
tx.object(TRADEPORT_KIOSK_TRANSFERS_ESCROW_KIOSK),
|
|
56
48
|
tx.object(kioskTx.kiosk.value ?? kioskTx.kiosk),
|
|
57
49
|
tx.object(kioskTx.kioskCap.value ?? kioskTx.kioskCap),
|
|
58
50
|
tx.pure.address(nftTokenId),
|
|
59
51
|
tx.pure.address(addLeadingZerosAfter0x(recipientAddress)),
|
|
60
|
-
tx.object(transferPolicy),
|
|
61
52
|
],
|
|
62
53
|
typeArguments: [nftType],
|
|
63
54
|
});
|
|
64
|
-
|
|
65
|
-
await resolveTransferPolicies({
|
|
66
|
-
tx,
|
|
67
|
-
kioskTx,
|
|
68
|
-
nftType,
|
|
69
|
-
price: '0',
|
|
70
|
-
transferRequest,
|
|
71
|
-
kioskToLockRuleProve: TRADEPORT_KIOSK_TRANSFERS_ESCROW_KIOSK,
|
|
72
|
-
shouldSkipKioskLocking: true,
|
|
73
|
-
});
|
|
74
55
|
}
|
|
@@ -33,7 +33,7 @@ export async function addTradePortKioskUnlistTx({
|
|
|
33
33
|
}: UnlistListingTx) {
|
|
34
34
|
tx.moveCall({
|
|
35
35
|
target:
|
|
36
|
-
'
|
|
36
|
+
'0xc94af80a10796ad0732cca33b38a858f712256da0763a65bafb2a63cf3e6a0d0::kiosk_listings::unlist',
|
|
37
37
|
arguments: [
|
|
38
38
|
tx.object(TRADEPORT_KIOSK_LISTING_STORE),
|
|
39
39
|
tx.object(kioskTx.kiosk.value ?? kioskTx.kiosk),
|