@opensea/sdk 9.0.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/LICENSE +7 -0
- package/README.md +70 -0
- package/lib/api/accounts.d.ts +27 -0
- package/lib/api/accounts.js +46 -0
- package/lib/api/accounts.js.map +1 -0
- package/lib/api/api.d.ts +489 -0
- package/lib/api/api.js +754 -0
- package/lib/api/api.js.map +1 -0
- package/lib/api/apiPaths.d.ts +46 -0
- package/lib/api/apiPaths.js +176 -0
- package/lib/api/apiPaths.js.map +1 -0
- package/lib/api/chains.d.ts +13 -0
- package/lib/api/chains.js +22 -0
- package/lib/api/chains.js.map +1 -0
- package/lib/api/collections.d.ts +34 -0
- package/lib/api/collections.js +80 -0
- package/lib/api/collections.js.map +1 -0
- package/lib/api/drops.d.ts +21 -0
- package/lib/api/drops.js +39 -0
- package/lib/api/drops.js.map +1 -0
- package/lib/api/events.d.ts +26 -0
- package/lib/api/events.js +43 -0
- package/lib/api/events.js.map +1 -0
- package/lib/api/fetcher.d.ts +24 -0
- package/lib/api/fetcher.js +3 -0
- package/lib/api/fetcher.js.map +1 -0
- package/lib/api/index.d.ts +2 -0
- package/lib/api/index.js +19 -0
- package/lib/api/index.js.map +1 -0
- package/lib/api/listings.d.ts +44 -0
- package/lib/api/listings.js +88 -0
- package/lib/api/listings.js.map +1 -0
- package/lib/api/nfts.d.ts +39 -0
- package/lib/api/nfts.js +79 -0
- package/lib/api/nfts.js.map +1 -0
- package/lib/api/offers.d.ts +54 -0
- package/lib/api/offers.js +124 -0
- package/lib/api/offers.js.map +1 -0
- package/lib/api/orders.d.ts +50 -0
- package/lib/api/orders.js +153 -0
- package/lib/api/orders.js.map +1 -0
- package/lib/api/search.d.ts +13 -0
- package/lib/api/search.js +22 -0
- package/lib/api/search.js.map +1 -0
- package/lib/api/tokens.d.ts +25 -0
- package/lib/api/tokens.js +43 -0
- package/lib/api/tokens.js.map +1 -0
- package/lib/api/types.d.ts +1113 -0
- package/lib/api/types.js +65 -0
- package/lib/api/types.js.map +1 -0
- package/lib/constants.d.ts +22 -0
- package/lib/constants.js +52 -0
- package/lib/constants.js.map +1 -0
- package/lib/index.d.ts +18 -0
- package/lib/index.js +24 -0
- package/lib/index.js.map +1 -0
- package/lib/orders/privateListings.d.ts +12 -0
- package/lib/orders/privateListings.js +130 -0
- package/lib/orders/privateListings.js.map +1 -0
- package/lib/orders/types.d.ts +160 -0
- package/lib/orders/types.js +10 -0
- package/lib/orders/types.js.map +1 -0
- package/lib/orders/utils.d.ts +89 -0
- package/lib/orders/utils.js +177 -0
- package/lib/orders/utils.js.map +1 -0
- package/lib/sdk/assets.d.ts +104 -0
- package/lib/sdk/assets.js +398 -0
- package/lib/sdk/assets.js.map +1 -0
- package/lib/sdk/cancellation.d.ts +97 -0
- package/lib/sdk/cancellation.js +235 -0
- package/lib/sdk/cancellation.js.map +1 -0
- package/lib/sdk/context.d.ts +28 -0
- package/lib/sdk/context.js +3 -0
- package/lib/sdk/context.js.map +1 -0
- package/lib/sdk/fulfillment.d.ts +153 -0
- package/lib/sdk/fulfillment.js +298 -0
- package/lib/sdk/fulfillment.js.map +1 -0
- package/lib/sdk/orders.d.ts +253 -0
- package/lib/sdk/orders.js +679 -0
- package/lib/sdk/orders.js.map +1 -0
- package/lib/sdk/tokens.d.ts +31 -0
- package/lib/sdk/tokens.js +65 -0
- package/lib/sdk/tokens.js.map +1 -0
- package/lib/sdk.d.ts +560 -0
- package/lib/sdk.js +693 -0
- package/lib/sdk.js.map +1 -0
- package/lib/src/api/accounts.d.ts +18 -0
- package/lib/src/api/accounts.js +30 -0
- package/lib/src/api/accounts.js.map +1 -0
- package/lib/src/api/api.d.ts +429 -0
- package/lib/src/api/api.js +652 -0
- package/lib/src/api/api.js.map +1 -0
- package/lib/src/api/apiPaths.d.ts +37 -0
- package/lib/src/api/apiPaths.js +140 -0
- package/lib/src/api/apiPaths.js.map +1 -0
- package/lib/src/api/collections.d.ts +26 -0
- package/lib/src/api/collections.js +57 -0
- package/lib/src/api/collections.js.map +1 -0
- package/lib/src/api/events.d.ts +26 -0
- package/lib/src/api/events.js +42 -0
- package/lib/src/api/events.js.map +1 -0
- package/lib/src/api/fetcher.d.ts +24 -0
- package/lib/src/api/fetcher.js +3 -0
- package/lib/src/api/fetcher.js.map +1 -0
- package/lib/src/api/index.d.ts +2 -0
- package/lib/src/api/index.js +19 -0
- package/lib/src/api/index.js.map +1 -0
- package/lib/src/api/listings.d.ts +44 -0
- package/lib/src/api/listings.js +86 -0
- package/lib/src/api/listings.js.map +1 -0
- package/lib/src/api/nfts.d.ts +35 -0
- package/lib/src/api/nfts.js +66 -0
- package/lib/src/api/nfts.js.map +1 -0
- package/lib/src/api/offers.d.ts +54 -0
- package/lib/src/api/offers.js +122 -0
- package/lib/src/api/offers.js.map +1 -0
- package/lib/src/api/orders.d.ts +50 -0
- package/lib/src/api/orders.js +151 -0
- package/lib/src/api/orders.js.map +1 -0
- package/lib/src/api/search.d.ts +13 -0
- package/lib/src/api/search.js +21 -0
- package/lib/src/api/search.js.map +1 -0
- package/lib/src/api/tokens.d.ts +25 -0
- package/lib/src/api/tokens.js +42 -0
- package/lib/src/api/tokens.js.map +1 -0
- package/lib/src/api/types.d.ts +840 -0
- package/lib/src/api/types.js +65 -0
- package/lib/src/api/types.js.map +1 -0
- package/lib/src/constants.d.ts +22 -0
- package/lib/src/constants.js +52 -0
- package/lib/src/constants.js.map +1 -0
- package/lib/src/index.d.ts +18 -0
- package/lib/src/index.js +24 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/orders/privateListings.d.ts +12 -0
- package/lib/src/orders/privateListings.js +130 -0
- package/lib/src/orders/privateListings.js.map +1 -0
- package/lib/src/orders/types.d.ts +160 -0
- package/lib/src/orders/types.js +10 -0
- package/lib/src/orders/types.js.map +1 -0
- package/lib/src/orders/utils.d.ts +89 -0
- package/lib/src/orders/utils.js +177 -0
- package/lib/src/orders/utils.js.map +1 -0
- package/lib/src/sdk/assets.d.ts +104 -0
- package/lib/src/sdk/assets.js +397 -0
- package/lib/src/sdk/assets.js.map +1 -0
- package/lib/src/sdk/cancellation.d.ts +97 -0
- package/lib/src/sdk/cancellation.js +234 -0
- package/lib/src/sdk/cancellation.js.map +1 -0
- package/lib/src/sdk/context.d.ts +28 -0
- package/lib/src/sdk/context.js +3 -0
- package/lib/src/sdk/context.js.map +1 -0
- package/lib/src/sdk/fulfillment.d.ts +153 -0
- package/lib/src/sdk/fulfillment.js +296 -0
- package/lib/src/sdk/fulfillment.js.map +1 -0
- package/lib/src/sdk/orders.d.ts +253 -0
- package/lib/src/sdk/orders.js +677 -0
- package/lib/src/sdk/orders.js.map +1 -0
- package/lib/src/sdk/tokens.d.ts +31 -0
- package/lib/src/sdk/tokens.js +64 -0
- package/lib/src/sdk/tokens.js.map +1 -0
- package/lib/src/sdk.d.ts +560 -0
- package/lib/src/sdk.js +675 -0
- package/lib/src/sdk.js.map +1 -0
- package/lib/src/typechain/contracts/ERC1155.d.ts +236 -0
- package/lib/src/typechain/contracts/ERC1155.js +3 -0
- package/lib/src/typechain/contracts/ERC1155.js.map +1 -0
- package/lib/src/typechain/contracts/ERC20.d.ts +141 -0
- package/lib/src/typechain/contracts/ERC20.js +3 -0
- package/lib/src/typechain/contracts/ERC20.js.map +1 -0
- package/lib/src/typechain/contracts/ERC721.d.ts +213 -0
- package/lib/src/typechain/contracts/ERC721.js +3 -0
- package/lib/src/typechain/contracts/ERC721.js.map +1 -0
- package/lib/src/typechain/contracts/Multicall3.d.ts +57 -0
- package/lib/src/typechain/contracts/Multicall3.js +3 -0
- package/lib/src/typechain/contracts/Multicall3.js.map +1 -0
- package/lib/src/typechain/contracts/TransferHelper.d.ts +55 -0
- package/lib/src/typechain/contracts/TransferHelper.js +3 -0
- package/lib/src/typechain/contracts/TransferHelper.js.map +1 -0
- package/lib/src/typechain/contracts/common.d.ts +50 -0
- package/lib/src/typechain/contracts/common.js +3 -0
- package/lib/src/typechain/contracts/common.js.map +1 -0
- package/lib/src/typechain/contracts/factories/ERC1155__factory.d.ts +250 -0
- package/lib/src/typechain/contracts/factories/ERC1155__factory.js +332 -0
- package/lib/src/typechain/contracts/factories/ERC1155__factory.js.map +1 -0
- package/lib/src/typechain/contracts/factories/ERC20__factory.d.ts +174 -0
- package/lib/src/typechain/contracts/factories/ERC20__factory.js +240 -0
- package/lib/src/typechain/contracts/factories/ERC20__factory.js.map +1 -0
- package/lib/src/typechain/contracts/factories/ERC721__factory.d.ts +268 -0
- package/lib/src/typechain/contracts/factories/ERC721__factory.js +351 -0
- package/lib/src/typechain/contracts/factories/ERC721__factory.js.map +1 -0
- package/lib/src/typechain/contracts/factories/Multicall3__factory.d.ts +43 -0
- package/lib/src/typechain/contracts/factories/Multicall3__factory.js +68 -0
- package/lib/src/typechain/contracts/factories/Multicall3__factory.js.map +1 -0
- package/lib/src/typechain/contracts/factories/TransferHelper__factory.d.ts +46 -0
- package/lib/src/typechain/contracts/factories/TransferHelper__factory.js +71 -0
- package/lib/src/typechain/contracts/factories/TransferHelper__factory.js.map +1 -0
- package/lib/src/typechain/contracts/factories/index.d.ts +5 -0
- package/lib/src/typechain/contracts/factories/index.js +17 -0
- package/lib/src/typechain/contracts/factories/index.js.map +1 -0
- package/lib/src/typechain/contracts/index.d.ts +11 -0
- package/lib/src/typechain/contracts/index.js +48 -0
- package/lib/src/typechain/contracts/index.js.map +1 -0
- package/lib/src/types.d.ts +387 -0
- package/lib/src/types.js +127 -0
- package/lib/src/types.js.map +1 -0
- package/lib/src/utils/chain.d.ts +60 -0
- package/lib/src/utils/chain.js +248 -0
- package/lib/src/utils/chain.js.map +1 -0
- package/lib/src/utils/converters.d.ts +37 -0
- package/lib/src/utils/converters.js +137 -0
- package/lib/src/utils/converters.js.map +1 -0
- package/lib/src/utils/dateHelper.d.ts +38 -0
- package/lib/src/utils/dateHelper.js +52 -0
- package/lib/src/utils/dateHelper.js.map +1 -0
- package/lib/src/utils/fees.d.ts +13 -0
- package/lib/src/utils/fees.js +29 -0
- package/lib/src/utils/fees.js.map +1 -0
- package/lib/src/utils/index.d.ts +2 -0
- package/lib/src/utils/index.js +19 -0
- package/lib/src/utils/index.js.map +1 -0
- package/lib/src/utils/protocol.d.ts +75 -0
- package/lib/src/utils/protocol.js +161 -0
- package/lib/src/utils/protocol.js.map +1 -0
- package/lib/src/utils/rateLimit.d.ts +34 -0
- package/lib/src/utils/rateLimit.js +97 -0
- package/lib/src/utils/rateLimit.js.map +1 -0
- package/lib/src/utils/stringHelper.d.ts +18 -0
- package/lib/src/utils/stringHelper.js +24 -0
- package/lib/src/utils/stringHelper.js.map +1 -0
- package/lib/src/utils/utils.d.ts +18 -0
- package/lib/src/utils/utils.js +45 -0
- package/lib/src/utils/utils.js.map +1 -0
- package/lib/typechain/contracts/ERC1155.d.ts +236 -0
- package/lib/typechain/contracts/ERC1155.js +3 -0
- package/lib/typechain/contracts/ERC1155.js.map +1 -0
- package/lib/typechain/contracts/ERC20.d.ts +141 -0
- package/lib/typechain/contracts/ERC20.js +3 -0
- package/lib/typechain/contracts/ERC20.js.map +1 -0
- package/lib/typechain/contracts/ERC721.d.ts +213 -0
- package/lib/typechain/contracts/ERC721.js +3 -0
- package/lib/typechain/contracts/ERC721.js.map +1 -0
- package/lib/typechain/contracts/Multicall3.d.ts +57 -0
- package/lib/typechain/contracts/Multicall3.js +3 -0
- package/lib/typechain/contracts/Multicall3.js.map +1 -0
- package/lib/typechain/contracts/TransferHelper.d.ts +55 -0
- package/lib/typechain/contracts/TransferHelper.js +3 -0
- package/lib/typechain/contracts/TransferHelper.js.map +1 -0
- package/lib/typechain/contracts/common.d.ts +50 -0
- package/lib/typechain/contracts/common.js +3 -0
- package/lib/typechain/contracts/common.js.map +1 -0
- package/lib/typechain/contracts/factories/ERC1155__factory.d.ts +250 -0
- package/lib/typechain/contracts/factories/ERC1155__factory.js +332 -0
- package/lib/typechain/contracts/factories/ERC1155__factory.js.map +1 -0
- package/lib/typechain/contracts/factories/ERC20__factory.d.ts +174 -0
- package/lib/typechain/contracts/factories/ERC20__factory.js +240 -0
- package/lib/typechain/contracts/factories/ERC20__factory.js.map +1 -0
- package/lib/typechain/contracts/factories/ERC721__factory.d.ts +268 -0
- package/lib/typechain/contracts/factories/ERC721__factory.js +351 -0
- package/lib/typechain/contracts/factories/ERC721__factory.js.map +1 -0
- package/lib/typechain/contracts/factories/Multicall3__factory.d.ts +43 -0
- package/lib/typechain/contracts/factories/Multicall3__factory.js +68 -0
- package/lib/typechain/contracts/factories/Multicall3__factory.js.map +1 -0
- package/lib/typechain/contracts/factories/TransferHelper__factory.d.ts +46 -0
- package/lib/typechain/contracts/factories/TransferHelper__factory.js +71 -0
- package/lib/typechain/contracts/factories/TransferHelper__factory.js.map +1 -0
- package/lib/typechain/contracts/factories/index.d.ts +5 -0
- package/lib/typechain/contracts/factories/index.js +17 -0
- package/lib/typechain/contracts/factories/index.js.map +1 -0
- package/lib/typechain/contracts/index.d.ts +11 -0
- package/lib/typechain/contracts/index.js +48 -0
- package/lib/typechain/contracts/index.js.map +1 -0
- package/lib/types.d.ts +389 -0
- package/lib/types.js +129 -0
- package/lib/types.js.map +1 -0
- package/lib/utils/chain.d.ts +64 -0
- package/lib/utils/chain.js +211 -0
- package/lib/utils/chain.js.map +1 -0
- package/lib/utils/chainIds.generated.d.ts +7 -0
- package/lib/utils/chainIds.generated.js +37 -0
- package/lib/utils/chainIds.generated.js.map +1 -0
- package/lib/utils/converters.d.ts +37 -0
- package/lib/utils/converters.js +137 -0
- package/lib/utils/converters.js.map +1 -0
- package/lib/utils/dateHelper.d.ts +38 -0
- package/lib/utils/dateHelper.js +52 -0
- package/lib/utils/dateHelper.js.map +1 -0
- package/lib/utils/fees.d.ts +13 -0
- package/lib/utils/fees.js +29 -0
- package/lib/utils/fees.js.map +1 -0
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/index.js +19 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/protocol.d.ts +75 -0
- package/lib/utils/protocol.js +161 -0
- package/lib/utils/protocol.js.map +1 -0
- package/lib/utils/rateLimit.d.ts +34 -0
- package/lib/utils/rateLimit.js +97 -0
- package/lib/utils/rateLimit.js.map +1 -0
- package/lib/utils/stringHelper.d.ts +18 -0
- package/lib/utils/stringHelper.js +24 -0
- package/lib/utils/stringHelper.js.map +1 -0
- package/lib/utils/utils.d.ts +18 -0
- package/lib/utils/utils.js +45 -0
- package/lib/utils/utils.js.map +1 -0
- package/package.json +72 -0
- package/src/abi/ERC1155.json +314 -0
- package/src/abi/ERC20.json +222 -0
- package/src/abi/ERC721.json +333 -0
- package/src/abi/Multicall3.json +50 -0
- package/src/abi/TransferHelper.json +53 -0
- package/src/api/accounts.ts +69 -0
- package/src/api/api.ts +1152 -0
- package/src/api/apiPaths.ts +208 -0
- package/src/api/chains.ts +18 -0
- package/src/api/collections.ts +120 -0
- package/src/api/drops.ts +49 -0
- package/src/api/events.ts +71 -0
- package/src/api/fetcher.ts +31 -0
- package/src/api/index.ts +2 -0
- package/src/api/listings.ts +126 -0
- package/src/api/nfts.ts +144 -0
- package/src/api/offers.ts +242 -0
- package/src/api/orders.ts +283 -0
- package/src/api/search.ts +21 -0
- package/src/api/tokens.ts +67 -0
- package/src/api/types.ts +1210 -0
- package/src/constants.ts +90 -0
- package/src/index.ts +22 -0
- package/src/orders/privateListings.ts +173 -0
- package/src/orders/types.ts +191 -0
- package/src/orders/utils.ts +253 -0
- package/src/sdk/assets.ts +591 -0
- package/src/sdk/cancellation.ts +346 -0
- package/src/sdk/context.ts +33 -0
- package/src/sdk/fulfillment.ts +478 -0
- package/src/sdk/orders.ts +1149 -0
- package/src/sdk/tokens.ts +95 -0
- package/src/sdk.ts +1051 -0
- package/src/typechain/contracts/ERC1155.ts +440 -0
- package/src/typechain/contracts/ERC20.ts +286 -0
- package/src/typechain/contracts/ERC721.ts +412 -0
- package/src/typechain/contracts/Multicall3.ts +117 -0
- package/src/typechain/contracts/TransferHelper.ts +122 -0
- package/src/typechain/contracts/common.ts +131 -0
- package/src/typechain/contracts/factories/ERC1155__factory.ts +331 -0
- package/src/typechain/contracts/factories/ERC20__factory.ts +239 -0
- package/src/typechain/contracts/factories/ERC721__factory.ts +350 -0
- package/src/typechain/contracts/factories/Multicall3__factory.ts +67 -0
- package/src/typechain/contracts/factories/TransferHelper__factory.ts +76 -0
- package/src/typechain/contracts/factories/index.ts +8 -0
- package/src/typechain/contracts/index.ts +14 -0
- package/src/types.ts +413 -0
- package/src/utils/chain.ts +224 -0
- package/src/utils/chainIds.generated.ts +34 -0
- package/src/utils/converters.ts +145 -0
- package/src/utils/dateHelper.ts +48 -0
- package/src/utils/fees.ts +31 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/protocol.ts +185 -0
- package/src/utils/rateLimit.ts +147 -0
- package/src/utils/stringHelper.ts +25 -0
- package/src/utils/utils.ts +36 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deserializeOrder = exports.serializeOrdersQueryOptions = exports.getFulfillOfferPayload = exports.getFulfillListingPayload = exports.getFulfillmentDataPath = exports.getBuildCollectionOfferPayload = exports.getPostCollectionOfferPayload = exports.DEFAULT_SEAPORT_CONTRACT_ADDRESS = void 0;
|
|
4
|
+
const constants_1 = require("@opensea/seaport-js/lib/constants");
|
|
5
|
+
const apiPaths_1 = require("../api/apiPaths");
|
|
6
|
+
const types_1 = require("../types");
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
exports.DEFAULT_SEAPORT_CONTRACT_ADDRESS = constants_1.CROSS_CHAIN_SEAPORT_V1_6_ADDRESS;
|
|
9
|
+
const getPostCollectionOfferPayload = (collectionSlug, protocol_data, chain, traitType, traitValue, traits, numericTraits) => {
|
|
10
|
+
const payload = {
|
|
11
|
+
criteria: {
|
|
12
|
+
collection: { slug: collectionSlug },
|
|
13
|
+
},
|
|
14
|
+
protocol_data,
|
|
15
|
+
protocol_address: (0, utils_1.getSeaportAddress)(chain),
|
|
16
|
+
};
|
|
17
|
+
// Prioritize traits array if provided
|
|
18
|
+
if (traits && traits.length > 0) {
|
|
19
|
+
;
|
|
20
|
+
payload.criteria.traits = traits;
|
|
21
|
+
}
|
|
22
|
+
else if (traitType && traitValue) {
|
|
23
|
+
// Fallback to single trait for backward compatibility
|
|
24
|
+
;
|
|
25
|
+
payload.criteria.trait = {
|
|
26
|
+
type: traitType,
|
|
27
|
+
value: traitValue,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
if (numericTraits && numericTraits.length > 0) {
|
|
31
|
+
;
|
|
32
|
+
payload.criteria.numericTraits = numericTraits;
|
|
33
|
+
}
|
|
34
|
+
return payload;
|
|
35
|
+
};
|
|
36
|
+
exports.getPostCollectionOfferPayload = getPostCollectionOfferPayload;
|
|
37
|
+
const getBuildCollectionOfferPayload = (offererAddress, quantity, collectionSlug, offerProtectionEnabled, chain, traitType, traitValue, traits, numericTraits) => {
|
|
38
|
+
const payload = {
|
|
39
|
+
offerer: offererAddress,
|
|
40
|
+
quantity,
|
|
41
|
+
criteria: {
|
|
42
|
+
collection: {
|
|
43
|
+
slug: collectionSlug,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
protocol_address: (0, utils_1.getSeaportAddress)(chain),
|
|
47
|
+
offer_protection_enabled: offerProtectionEnabled,
|
|
48
|
+
};
|
|
49
|
+
// Prioritize traits array if provided
|
|
50
|
+
if (traits && traits.length > 0) {
|
|
51
|
+
;
|
|
52
|
+
payload.criteria.traits = traits;
|
|
53
|
+
}
|
|
54
|
+
else if (traitType && traitValue) {
|
|
55
|
+
// Fallback to single trait for backward compatibility
|
|
56
|
+
;
|
|
57
|
+
payload.criteria.trait = {
|
|
58
|
+
type: traitType,
|
|
59
|
+
value: traitValue,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
if (numericTraits && numericTraits.length > 0) {
|
|
63
|
+
;
|
|
64
|
+
payload.criteria.numericTraits = numericTraits;
|
|
65
|
+
}
|
|
66
|
+
return payload;
|
|
67
|
+
};
|
|
68
|
+
exports.getBuildCollectionOfferPayload = getBuildCollectionOfferPayload;
|
|
69
|
+
const getFulfillmentDataPath = (side) => {
|
|
70
|
+
const sidePath = side === types_1.OrderSide.LISTING ? "listings" : "offers";
|
|
71
|
+
return `${apiPaths_1.API_V2_PREFIX}/${sidePath}/fulfillment_data`;
|
|
72
|
+
};
|
|
73
|
+
exports.getFulfillmentDataPath = getFulfillmentDataPath;
|
|
74
|
+
const getFulfillListingPayload = (fulfillerAddress, order_hash, protocolAddress, chain, assetContractAddress, tokenId, unitsToFill = "1", recipientAddress, includeOptionalCreatorFees = false) => {
|
|
75
|
+
const payload = {
|
|
76
|
+
listing: {
|
|
77
|
+
hash: order_hash,
|
|
78
|
+
chain,
|
|
79
|
+
protocol_address: protocolAddress,
|
|
80
|
+
},
|
|
81
|
+
fulfiller: {
|
|
82
|
+
address: fulfillerAddress,
|
|
83
|
+
},
|
|
84
|
+
units_to_fill: unitsToFill,
|
|
85
|
+
include_optional_creator_fees: includeOptionalCreatorFees,
|
|
86
|
+
};
|
|
87
|
+
// Add consideration for criteria listings if needed
|
|
88
|
+
if (assetContractAddress && tokenId) {
|
|
89
|
+
payload.consideration = {
|
|
90
|
+
asset_contract_address: assetContractAddress,
|
|
91
|
+
token_id: tokenId,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
// Add optional recipient for listings
|
|
95
|
+
if (recipientAddress) {
|
|
96
|
+
payload.recipient = recipientAddress;
|
|
97
|
+
}
|
|
98
|
+
return payload;
|
|
99
|
+
};
|
|
100
|
+
exports.getFulfillListingPayload = getFulfillListingPayload;
|
|
101
|
+
const getFulfillOfferPayload = (fulfillerAddress, order_hash, protocolAddress, chain, assetContractAddress, tokenId, unitsToFill = "1", includeOptionalCreatorFees = false) => {
|
|
102
|
+
const payload = {
|
|
103
|
+
offer: {
|
|
104
|
+
hash: order_hash,
|
|
105
|
+
chain,
|
|
106
|
+
protocol_address: protocolAddress,
|
|
107
|
+
},
|
|
108
|
+
fulfiller: {
|
|
109
|
+
address: fulfillerAddress,
|
|
110
|
+
},
|
|
111
|
+
units_to_fill: unitsToFill,
|
|
112
|
+
include_optional_creator_fees: includeOptionalCreatorFees,
|
|
113
|
+
};
|
|
114
|
+
// Add consideration for criteria offers (e.g., collection offers)
|
|
115
|
+
if (assetContractAddress && tokenId) {
|
|
116
|
+
payload.consideration = {
|
|
117
|
+
asset_contract_address: assetContractAddress,
|
|
118
|
+
token_id: tokenId,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
return payload;
|
|
122
|
+
};
|
|
123
|
+
exports.getFulfillOfferPayload = getFulfillOfferPayload;
|
|
124
|
+
const serializeOrdersQueryOptions = (options) => {
|
|
125
|
+
const tokenIds = options.tokenIds && options.tokenIds.length > 0
|
|
126
|
+
? options.tokenIds
|
|
127
|
+
: options.tokenId !== undefined
|
|
128
|
+
? [options.tokenId]
|
|
129
|
+
: options.tokenIds;
|
|
130
|
+
return {
|
|
131
|
+
limit: options.limit,
|
|
132
|
+
cursor: options.cursor ?? options.next,
|
|
133
|
+
payment_token_address: options.paymentTokenAddress,
|
|
134
|
+
maker: options.maker,
|
|
135
|
+
taker: options.taker,
|
|
136
|
+
owner: options.owner,
|
|
137
|
+
listed_after: options.listedAfter,
|
|
138
|
+
listed_before: options.listedBefore,
|
|
139
|
+
token_ids: tokenIds,
|
|
140
|
+
asset_contract_address: options.assetContractAddress,
|
|
141
|
+
order_by: options.orderBy,
|
|
142
|
+
order_direction: options.orderDirection,
|
|
143
|
+
only_english: options.onlyEnglish,
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
exports.serializeOrdersQueryOptions = serializeOrdersQueryOptions;
|
|
147
|
+
const deserializeOrder = (order) => {
|
|
148
|
+
return {
|
|
149
|
+
createdDate: order.created_date,
|
|
150
|
+
closingDate: order.closing_date,
|
|
151
|
+
listingTime: order.listing_time,
|
|
152
|
+
expirationTime: order.expiration_time,
|
|
153
|
+
orderHash: order.order_hash,
|
|
154
|
+
maker: (0, utils_1.accountFromJSON)(order.maker),
|
|
155
|
+
taker: order.taker ? (0, utils_1.accountFromJSON)(order.taker) : null,
|
|
156
|
+
protocolData: order.protocol_data,
|
|
157
|
+
protocolAddress: order.protocol_address,
|
|
158
|
+
currentPrice: BigInt(order.current_price),
|
|
159
|
+
makerFees: (order.maker_fees ?? []).map(({ account, basis_points }) => ({
|
|
160
|
+
account: (0, utils_1.accountFromJSON)(account),
|
|
161
|
+
basisPoints: basis_points,
|
|
162
|
+
})),
|
|
163
|
+
takerFees: (order.taker_fees ?? []).map(({ account, basis_points }) => ({
|
|
164
|
+
account: (0, utils_1.accountFromJSON)(account),
|
|
165
|
+
basisPoints: basis_points,
|
|
166
|
+
})),
|
|
167
|
+
side: order.side,
|
|
168
|
+
orderType: order.order_type,
|
|
169
|
+
cancelled: order.cancelled,
|
|
170
|
+
finalized: order.finalized,
|
|
171
|
+
markedInvalid: order.marked_invalid,
|
|
172
|
+
clientSignature: order.client_signature,
|
|
173
|
+
remainingQuantity: order.remaining_quantity,
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
exports.deserializeOrder = deserializeOrder;
|
|
177
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/orders/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { type BigNumberish, type Overrides } from "ethers";
|
|
2
|
+
import { type AssetWithTokenStandard } from "../types";
|
|
3
|
+
import type { SDKContext } from "./context";
|
|
4
|
+
/**
|
|
5
|
+
* Asset transfer and approval operations
|
|
6
|
+
*/
|
|
7
|
+
export declare class AssetsManager {
|
|
8
|
+
private context;
|
|
9
|
+
constructor(context: SDKContext);
|
|
10
|
+
/**
|
|
11
|
+
* Get an account's balance of any Asset. This asset can be an ERC20, ERC1155, or ERC721.
|
|
12
|
+
* @param options
|
|
13
|
+
* @param options.accountAddress Account address to check
|
|
14
|
+
* @param options.asset The Asset to check balance for. tokenStandard must be set.
|
|
15
|
+
* @returns The balance of the asset for the account.
|
|
16
|
+
*
|
|
17
|
+
* @throws Error if the token standard does not support balanceOf.
|
|
18
|
+
*/
|
|
19
|
+
getBalance({ accountAddress, asset, }: {
|
|
20
|
+
accountAddress: string;
|
|
21
|
+
asset: AssetWithTokenStandard;
|
|
22
|
+
}): Promise<bigint>;
|
|
23
|
+
/**
|
|
24
|
+
* Transfer an asset. This asset can be an ERC20, ERC1155, or ERC721.
|
|
25
|
+
* @param options
|
|
26
|
+
* @param options.asset The Asset to transfer. tokenStandard must be set.
|
|
27
|
+
* @param options.amount Amount of asset to transfer. Not used for ERC721.
|
|
28
|
+
* @param options.fromAddress The address to transfer from
|
|
29
|
+
* @param options.toAddress The address to transfer to
|
|
30
|
+
* @param options.overrides Transaction overrides, ignored if not set.
|
|
31
|
+
*/
|
|
32
|
+
transfer({ asset, amount, fromAddress, toAddress, overrides, }: {
|
|
33
|
+
asset: AssetWithTokenStandard;
|
|
34
|
+
amount?: BigNumberish;
|
|
35
|
+
fromAddress: string;
|
|
36
|
+
toAddress: string;
|
|
37
|
+
overrides?: Overrides;
|
|
38
|
+
}): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Bulk transfer multiple assets using OpenSea's TransferHelper contract.
|
|
41
|
+
* This method is more gas-efficient than calling transfer() multiple times.
|
|
42
|
+
* Note: All assets must be approved for transfer to the OpenSea conduit before calling this method.
|
|
43
|
+
* @param options
|
|
44
|
+
* @param options.assets Array of assets to transfer. Each asset must have tokenStandard set.
|
|
45
|
+
* @param options.fromAddress The address to transfer from
|
|
46
|
+
* @param options.overrides Transaction overrides, ignored if not set.
|
|
47
|
+
* @returns Transaction hash of the bulk transfer
|
|
48
|
+
*
|
|
49
|
+
* @throws Error if any asset is missing required fields (tokenId for NFTs, amount for ERC20/ERC1155).
|
|
50
|
+
* @throws Error if any asset is not approved for transfer to the OpenSea conduit.
|
|
51
|
+
* @throws Error if the fromAddress is not available through wallet or provider.
|
|
52
|
+
*/
|
|
53
|
+
bulkTransfer({ assets, fromAddress, overrides, }: {
|
|
54
|
+
assets: Array<{
|
|
55
|
+
asset: AssetWithTokenStandard;
|
|
56
|
+
toAddress: string;
|
|
57
|
+
amount?: BigNumberish;
|
|
58
|
+
}>;
|
|
59
|
+
fromAddress: string;
|
|
60
|
+
overrides?: Overrides;
|
|
61
|
+
}): Promise<string>;
|
|
62
|
+
/**
|
|
63
|
+
* Batch approve multiple assets for transfer to the OpenSea conduit.
|
|
64
|
+
* This method checks which assets need approval and batches them efficiently:
|
|
65
|
+
* - 0 approvals needed: Returns early
|
|
66
|
+
* - 1 approval needed: Sends single transaction
|
|
67
|
+
* - 2+ approvals needed: Uses Multicall3 to batch all approvals in one transaction
|
|
68
|
+
*
|
|
69
|
+
* @param options
|
|
70
|
+
* @param options.assets Array of assets to approve for transfer
|
|
71
|
+
* @param options.fromAddress The address that owns the assets
|
|
72
|
+
* @param options.overrides Transaction overrides, ignored if not set.
|
|
73
|
+
* @returns Transaction hash of the approval transaction, or undefined if no approvals needed
|
|
74
|
+
*
|
|
75
|
+
* @throws Error if the fromAddress is not available through wallet or provider.
|
|
76
|
+
*/
|
|
77
|
+
batchApproveAssets({ assets, fromAddress, overrides, }: {
|
|
78
|
+
assets: Array<{
|
|
79
|
+
asset: AssetWithTokenStandard;
|
|
80
|
+
amount?: BigNumberish;
|
|
81
|
+
}>;
|
|
82
|
+
fromAddress: string;
|
|
83
|
+
overrides?: Overrides;
|
|
84
|
+
}): Promise<string | undefined>;
|
|
85
|
+
/**
|
|
86
|
+
* Check if an asset is approved for transfer to a specific operator (conduit).
|
|
87
|
+
* @param asset The asset to check approval for
|
|
88
|
+
* @param owner The owner address
|
|
89
|
+
* @param operator The operator address (conduit)
|
|
90
|
+
* @param amount Optional amount for ERC20 tokens
|
|
91
|
+
* @returns True if approved, false otherwise
|
|
92
|
+
*/
|
|
93
|
+
private checkAssetApproval;
|
|
94
|
+
/**
|
|
95
|
+
* Get a TransferHelper contract instance.
|
|
96
|
+
* @returns Contract instance for TransferHelper
|
|
97
|
+
*/
|
|
98
|
+
private getTransferHelperContract;
|
|
99
|
+
/**
|
|
100
|
+
* Get a Multicall3 contract instance.
|
|
101
|
+
* @returns Contract instance for Multicall3
|
|
102
|
+
*/
|
|
103
|
+
private getMulticall3Contract;
|
|
104
|
+
}
|