@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.
Files changed (363) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +70 -0
  3. package/lib/api/accounts.d.ts +27 -0
  4. package/lib/api/accounts.js +46 -0
  5. package/lib/api/accounts.js.map +1 -0
  6. package/lib/api/api.d.ts +489 -0
  7. package/lib/api/api.js +754 -0
  8. package/lib/api/api.js.map +1 -0
  9. package/lib/api/apiPaths.d.ts +46 -0
  10. package/lib/api/apiPaths.js +176 -0
  11. package/lib/api/apiPaths.js.map +1 -0
  12. package/lib/api/chains.d.ts +13 -0
  13. package/lib/api/chains.js +22 -0
  14. package/lib/api/chains.js.map +1 -0
  15. package/lib/api/collections.d.ts +34 -0
  16. package/lib/api/collections.js +80 -0
  17. package/lib/api/collections.js.map +1 -0
  18. package/lib/api/drops.d.ts +21 -0
  19. package/lib/api/drops.js +39 -0
  20. package/lib/api/drops.js.map +1 -0
  21. package/lib/api/events.d.ts +26 -0
  22. package/lib/api/events.js +43 -0
  23. package/lib/api/events.js.map +1 -0
  24. package/lib/api/fetcher.d.ts +24 -0
  25. package/lib/api/fetcher.js +3 -0
  26. package/lib/api/fetcher.js.map +1 -0
  27. package/lib/api/index.d.ts +2 -0
  28. package/lib/api/index.js +19 -0
  29. package/lib/api/index.js.map +1 -0
  30. package/lib/api/listings.d.ts +44 -0
  31. package/lib/api/listings.js +88 -0
  32. package/lib/api/listings.js.map +1 -0
  33. package/lib/api/nfts.d.ts +39 -0
  34. package/lib/api/nfts.js +79 -0
  35. package/lib/api/nfts.js.map +1 -0
  36. package/lib/api/offers.d.ts +54 -0
  37. package/lib/api/offers.js +124 -0
  38. package/lib/api/offers.js.map +1 -0
  39. package/lib/api/orders.d.ts +50 -0
  40. package/lib/api/orders.js +153 -0
  41. package/lib/api/orders.js.map +1 -0
  42. package/lib/api/search.d.ts +13 -0
  43. package/lib/api/search.js +22 -0
  44. package/lib/api/search.js.map +1 -0
  45. package/lib/api/tokens.d.ts +25 -0
  46. package/lib/api/tokens.js +43 -0
  47. package/lib/api/tokens.js.map +1 -0
  48. package/lib/api/types.d.ts +1113 -0
  49. package/lib/api/types.js +65 -0
  50. package/lib/api/types.js.map +1 -0
  51. package/lib/constants.d.ts +22 -0
  52. package/lib/constants.js +52 -0
  53. package/lib/constants.js.map +1 -0
  54. package/lib/index.d.ts +18 -0
  55. package/lib/index.js +24 -0
  56. package/lib/index.js.map +1 -0
  57. package/lib/orders/privateListings.d.ts +12 -0
  58. package/lib/orders/privateListings.js +130 -0
  59. package/lib/orders/privateListings.js.map +1 -0
  60. package/lib/orders/types.d.ts +160 -0
  61. package/lib/orders/types.js +10 -0
  62. package/lib/orders/types.js.map +1 -0
  63. package/lib/orders/utils.d.ts +89 -0
  64. package/lib/orders/utils.js +177 -0
  65. package/lib/orders/utils.js.map +1 -0
  66. package/lib/sdk/assets.d.ts +104 -0
  67. package/lib/sdk/assets.js +398 -0
  68. package/lib/sdk/assets.js.map +1 -0
  69. package/lib/sdk/cancellation.d.ts +97 -0
  70. package/lib/sdk/cancellation.js +235 -0
  71. package/lib/sdk/cancellation.js.map +1 -0
  72. package/lib/sdk/context.d.ts +28 -0
  73. package/lib/sdk/context.js +3 -0
  74. package/lib/sdk/context.js.map +1 -0
  75. package/lib/sdk/fulfillment.d.ts +153 -0
  76. package/lib/sdk/fulfillment.js +298 -0
  77. package/lib/sdk/fulfillment.js.map +1 -0
  78. package/lib/sdk/orders.d.ts +253 -0
  79. package/lib/sdk/orders.js +679 -0
  80. package/lib/sdk/orders.js.map +1 -0
  81. package/lib/sdk/tokens.d.ts +31 -0
  82. package/lib/sdk/tokens.js +65 -0
  83. package/lib/sdk/tokens.js.map +1 -0
  84. package/lib/sdk.d.ts +560 -0
  85. package/lib/sdk.js +693 -0
  86. package/lib/sdk.js.map +1 -0
  87. package/lib/src/api/accounts.d.ts +18 -0
  88. package/lib/src/api/accounts.js +30 -0
  89. package/lib/src/api/accounts.js.map +1 -0
  90. package/lib/src/api/api.d.ts +429 -0
  91. package/lib/src/api/api.js +652 -0
  92. package/lib/src/api/api.js.map +1 -0
  93. package/lib/src/api/apiPaths.d.ts +37 -0
  94. package/lib/src/api/apiPaths.js +140 -0
  95. package/lib/src/api/apiPaths.js.map +1 -0
  96. package/lib/src/api/collections.d.ts +26 -0
  97. package/lib/src/api/collections.js +57 -0
  98. package/lib/src/api/collections.js.map +1 -0
  99. package/lib/src/api/events.d.ts +26 -0
  100. package/lib/src/api/events.js +42 -0
  101. package/lib/src/api/events.js.map +1 -0
  102. package/lib/src/api/fetcher.d.ts +24 -0
  103. package/lib/src/api/fetcher.js +3 -0
  104. package/lib/src/api/fetcher.js.map +1 -0
  105. package/lib/src/api/index.d.ts +2 -0
  106. package/lib/src/api/index.js +19 -0
  107. package/lib/src/api/index.js.map +1 -0
  108. package/lib/src/api/listings.d.ts +44 -0
  109. package/lib/src/api/listings.js +86 -0
  110. package/lib/src/api/listings.js.map +1 -0
  111. package/lib/src/api/nfts.d.ts +35 -0
  112. package/lib/src/api/nfts.js +66 -0
  113. package/lib/src/api/nfts.js.map +1 -0
  114. package/lib/src/api/offers.d.ts +54 -0
  115. package/lib/src/api/offers.js +122 -0
  116. package/lib/src/api/offers.js.map +1 -0
  117. package/lib/src/api/orders.d.ts +50 -0
  118. package/lib/src/api/orders.js +151 -0
  119. package/lib/src/api/orders.js.map +1 -0
  120. package/lib/src/api/search.d.ts +13 -0
  121. package/lib/src/api/search.js +21 -0
  122. package/lib/src/api/search.js.map +1 -0
  123. package/lib/src/api/tokens.d.ts +25 -0
  124. package/lib/src/api/tokens.js +42 -0
  125. package/lib/src/api/tokens.js.map +1 -0
  126. package/lib/src/api/types.d.ts +840 -0
  127. package/lib/src/api/types.js +65 -0
  128. package/lib/src/api/types.js.map +1 -0
  129. package/lib/src/constants.d.ts +22 -0
  130. package/lib/src/constants.js +52 -0
  131. package/lib/src/constants.js.map +1 -0
  132. package/lib/src/index.d.ts +18 -0
  133. package/lib/src/index.js +24 -0
  134. package/lib/src/index.js.map +1 -0
  135. package/lib/src/orders/privateListings.d.ts +12 -0
  136. package/lib/src/orders/privateListings.js +130 -0
  137. package/lib/src/orders/privateListings.js.map +1 -0
  138. package/lib/src/orders/types.d.ts +160 -0
  139. package/lib/src/orders/types.js +10 -0
  140. package/lib/src/orders/types.js.map +1 -0
  141. package/lib/src/orders/utils.d.ts +89 -0
  142. package/lib/src/orders/utils.js +177 -0
  143. package/lib/src/orders/utils.js.map +1 -0
  144. package/lib/src/sdk/assets.d.ts +104 -0
  145. package/lib/src/sdk/assets.js +397 -0
  146. package/lib/src/sdk/assets.js.map +1 -0
  147. package/lib/src/sdk/cancellation.d.ts +97 -0
  148. package/lib/src/sdk/cancellation.js +234 -0
  149. package/lib/src/sdk/cancellation.js.map +1 -0
  150. package/lib/src/sdk/context.d.ts +28 -0
  151. package/lib/src/sdk/context.js +3 -0
  152. package/lib/src/sdk/context.js.map +1 -0
  153. package/lib/src/sdk/fulfillment.d.ts +153 -0
  154. package/lib/src/sdk/fulfillment.js +296 -0
  155. package/lib/src/sdk/fulfillment.js.map +1 -0
  156. package/lib/src/sdk/orders.d.ts +253 -0
  157. package/lib/src/sdk/orders.js +677 -0
  158. package/lib/src/sdk/orders.js.map +1 -0
  159. package/lib/src/sdk/tokens.d.ts +31 -0
  160. package/lib/src/sdk/tokens.js +64 -0
  161. package/lib/src/sdk/tokens.js.map +1 -0
  162. package/lib/src/sdk.d.ts +560 -0
  163. package/lib/src/sdk.js +675 -0
  164. package/lib/src/sdk.js.map +1 -0
  165. package/lib/src/typechain/contracts/ERC1155.d.ts +236 -0
  166. package/lib/src/typechain/contracts/ERC1155.js +3 -0
  167. package/lib/src/typechain/contracts/ERC1155.js.map +1 -0
  168. package/lib/src/typechain/contracts/ERC20.d.ts +141 -0
  169. package/lib/src/typechain/contracts/ERC20.js +3 -0
  170. package/lib/src/typechain/contracts/ERC20.js.map +1 -0
  171. package/lib/src/typechain/contracts/ERC721.d.ts +213 -0
  172. package/lib/src/typechain/contracts/ERC721.js +3 -0
  173. package/lib/src/typechain/contracts/ERC721.js.map +1 -0
  174. package/lib/src/typechain/contracts/Multicall3.d.ts +57 -0
  175. package/lib/src/typechain/contracts/Multicall3.js +3 -0
  176. package/lib/src/typechain/contracts/Multicall3.js.map +1 -0
  177. package/lib/src/typechain/contracts/TransferHelper.d.ts +55 -0
  178. package/lib/src/typechain/contracts/TransferHelper.js +3 -0
  179. package/lib/src/typechain/contracts/TransferHelper.js.map +1 -0
  180. package/lib/src/typechain/contracts/common.d.ts +50 -0
  181. package/lib/src/typechain/contracts/common.js +3 -0
  182. package/lib/src/typechain/contracts/common.js.map +1 -0
  183. package/lib/src/typechain/contracts/factories/ERC1155__factory.d.ts +250 -0
  184. package/lib/src/typechain/contracts/factories/ERC1155__factory.js +332 -0
  185. package/lib/src/typechain/contracts/factories/ERC1155__factory.js.map +1 -0
  186. package/lib/src/typechain/contracts/factories/ERC20__factory.d.ts +174 -0
  187. package/lib/src/typechain/contracts/factories/ERC20__factory.js +240 -0
  188. package/lib/src/typechain/contracts/factories/ERC20__factory.js.map +1 -0
  189. package/lib/src/typechain/contracts/factories/ERC721__factory.d.ts +268 -0
  190. package/lib/src/typechain/contracts/factories/ERC721__factory.js +351 -0
  191. package/lib/src/typechain/contracts/factories/ERC721__factory.js.map +1 -0
  192. package/lib/src/typechain/contracts/factories/Multicall3__factory.d.ts +43 -0
  193. package/lib/src/typechain/contracts/factories/Multicall3__factory.js +68 -0
  194. package/lib/src/typechain/contracts/factories/Multicall3__factory.js.map +1 -0
  195. package/lib/src/typechain/contracts/factories/TransferHelper__factory.d.ts +46 -0
  196. package/lib/src/typechain/contracts/factories/TransferHelper__factory.js +71 -0
  197. package/lib/src/typechain/contracts/factories/TransferHelper__factory.js.map +1 -0
  198. package/lib/src/typechain/contracts/factories/index.d.ts +5 -0
  199. package/lib/src/typechain/contracts/factories/index.js +17 -0
  200. package/lib/src/typechain/contracts/factories/index.js.map +1 -0
  201. package/lib/src/typechain/contracts/index.d.ts +11 -0
  202. package/lib/src/typechain/contracts/index.js +48 -0
  203. package/lib/src/typechain/contracts/index.js.map +1 -0
  204. package/lib/src/types.d.ts +387 -0
  205. package/lib/src/types.js +127 -0
  206. package/lib/src/types.js.map +1 -0
  207. package/lib/src/utils/chain.d.ts +60 -0
  208. package/lib/src/utils/chain.js +248 -0
  209. package/lib/src/utils/chain.js.map +1 -0
  210. package/lib/src/utils/converters.d.ts +37 -0
  211. package/lib/src/utils/converters.js +137 -0
  212. package/lib/src/utils/converters.js.map +1 -0
  213. package/lib/src/utils/dateHelper.d.ts +38 -0
  214. package/lib/src/utils/dateHelper.js +52 -0
  215. package/lib/src/utils/dateHelper.js.map +1 -0
  216. package/lib/src/utils/fees.d.ts +13 -0
  217. package/lib/src/utils/fees.js +29 -0
  218. package/lib/src/utils/fees.js.map +1 -0
  219. package/lib/src/utils/index.d.ts +2 -0
  220. package/lib/src/utils/index.js +19 -0
  221. package/lib/src/utils/index.js.map +1 -0
  222. package/lib/src/utils/protocol.d.ts +75 -0
  223. package/lib/src/utils/protocol.js +161 -0
  224. package/lib/src/utils/protocol.js.map +1 -0
  225. package/lib/src/utils/rateLimit.d.ts +34 -0
  226. package/lib/src/utils/rateLimit.js +97 -0
  227. package/lib/src/utils/rateLimit.js.map +1 -0
  228. package/lib/src/utils/stringHelper.d.ts +18 -0
  229. package/lib/src/utils/stringHelper.js +24 -0
  230. package/lib/src/utils/stringHelper.js.map +1 -0
  231. package/lib/src/utils/utils.d.ts +18 -0
  232. package/lib/src/utils/utils.js +45 -0
  233. package/lib/src/utils/utils.js.map +1 -0
  234. package/lib/typechain/contracts/ERC1155.d.ts +236 -0
  235. package/lib/typechain/contracts/ERC1155.js +3 -0
  236. package/lib/typechain/contracts/ERC1155.js.map +1 -0
  237. package/lib/typechain/contracts/ERC20.d.ts +141 -0
  238. package/lib/typechain/contracts/ERC20.js +3 -0
  239. package/lib/typechain/contracts/ERC20.js.map +1 -0
  240. package/lib/typechain/contracts/ERC721.d.ts +213 -0
  241. package/lib/typechain/contracts/ERC721.js +3 -0
  242. package/lib/typechain/contracts/ERC721.js.map +1 -0
  243. package/lib/typechain/contracts/Multicall3.d.ts +57 -0
  244. package/lib/typechain/contracts/Multicall3.js +3 -0
  245. package/lib/typechain/contracts/Multicall3.js.map +1 -0
  246. package/lib/typechain/contracts/TransferHelper.d.ts +55 -0
  247. package/lib/typechain/contracts/TransferHelper.js +3 -0
  248. package/lib/typechain/contracts/TransferHelper.js.map +1 -0
  249. package/lib/typechain/contracts/common.d.ts +50 -0
  250. package/lib/typechain/contracts/common.js +3 -0
  251. package/lib/typechain/contracts/common.js.map +1 -0
  252. package/lib/typechain/contracts/factories/ERC1155__factory.d.ts +250 -0
  253. package/lib/typechain/contracts/factories/ERC1155__factory.js +332 -0
  254. package/lib/typechain/contracts/factories/ERC1155__factory.js.map +1 -0
  255. package/lib/typechain/contracts/factories/ERC20__factory.d.ts +174 -0
  256. package/lib/typechain/contracts/factories/ERC20__factory.js +240 -0
  257. package/lib/typechain/contracts/factories/ERC20__factory.js.map +1 -0
  258. package/lib/typechain/contracts/factories/ERC721__factory.d.ts +268 -0
  259. package/lib/typechain/contracts/factories/ERC721__factory.js +351 -0
  260. package/lib/typechain/contracts/factories/ERC721__factory.js.map +1 -0
  261. package/lib/typechain/contracts/factories/Multicall3__factory.d.ts +43 -0
  262. package/lib/typechain/contracts/factories/Multicall3__factory.js +68 -0
  263. package/lib/typechain/contracts/factories/Multicall3__factory.js.map +1 -0
  264. package/lib/typechain/contracts/factories/TransferHelper__factory.d.ts +46 -0
  265. package/lib/typechain/contracts/factories/TransferHelper__factory.js +71 -0
  266. package/lib/typechain/contracts/factories/TransferHelper__factory.js.map +1 -0
  267. package/lib/typechain/contracts/factories/index.d.ts +5 -0
  268. package/lib/typechain/contracts/factories/index.js +17 -0
  269. package/lib/typechain/contracts/factories/index.js.map +1 -0
  270. package/lib/typechain/contracts/index.d.ts +11 -0
  271. package/lib/typechain/contracts/index.js +48 -0
  272. package/lib/typechain/contracts/index.js.map +1 -0
  273. package/lib/types.d.ts +389 -0
  274. package/lib/types.js +129 -0
  275. package/lib/types.js.map +1 -0
  276. package/lib/utils/chain.d.ts +64 -0
  277. package/lib/utils/chain.js +211 -0
  278. package/lib/utils/chain.js.map +1 -0
  279. package/lib/utils/chainIds.generated.d.ts +7 -0
  280. package/lib/utils/chainIds.generated.js +37 -0
  281. package/lib/utils/chainIds.generated.js.map +1 -0
  282. package/lib/utils/converters.d.ts +37 -0
  283. package/lib/utils/converters.js +137 -0
  284. package/lib/utils/converters.js.map +1 -0
  285. package/lib/utils/dateHelper.d.ts +38 -0
  286. package/lib/utils/dateHelper.js +52 -0
  287. package/lib/utils/dateHelper.js.map +1 -0
  288. package/lib/utils/fees.d.ts +13 -0
  289. package/lib/utils/fees.js +29 -0
  290. package/lib/utils/fees.js.map +1 -0
  291. package/lib/utils/index.d.ts +2 -0
  292. package/lib/utils/index.js +19 -0
  293. package/lib/utils/index.js.map +1 -0
  294. package/lib/utils/protocol.d.ts +75 -0
  295. package/lib/utils/protocol.js +161 -0
  296. package/lib/utils/protocol.js.map +1 -0
  297. package/lib/utils/rateLimit.d.ts +34 -0
  298. package/lib/utils/rateLimit.js +97 -0
  299. package/lib/utils/rateLimit.js.map +1 -0
  300. package/lib/utils/stringHelper.d.ts +18 -0
  301. package/lib/utils/stringHelper.js +24 -0
  302. package/lib/utils/stringHelper.js.map +1 -0
  303. package/lib/utils/utils.d.ts +18 -0
  304. package/lib/utils/utils.js +45 -0
  305. package/lib/utils/utils.js.map +1 -0
  306. package/package.json +72 -0
  307. package/src/abi/ERC1155.json +314 -0
  308. package/src/abi/ERC20.json +222 -0
  309. package/src/abi/ERC721.json +333 -0
  310. package/src/abi/Multicall3.json +50 -0
  311. package/src/abi/TransferHelper.json +53 -0
  312. package/src/api/accounts.ts +69 -0
  313. package/src/api/api.ts +1152 -0
  314. package/src/api/apiPaths.ts +208 -0
  315. package/src/api/chains.ts +18 -0
  316. package/src/api/collections.ts +120 -0
  317. package/src/api/drops.ts +49 -0
  318. package/src/api/events.ts +71 -0
  319. package/src/api/fetcher.ts +31 -0
  320. package/src/api/index.ts +2 -0
  321. package/src/api/listings.ts +126 -0
  322. package/src/api/nfts.ts +144 -0
  323. package/src/api/offers.ts +242 -0
  324. package/src/api/orders.ts +283 -0
  325. package/src/api/search.ts +21 -0
  326. package/src/api/tokens.ts +67 -0
  327. package/src/api/types.ts +1210 -0
  328. package/src/constants.ts +90 -0
  329. package/src/index.ts +22 -0
  330. package/src/orders/privateListings.ts +173 -0
  331. package/src/orders/types.ts +191 -0
  332. package/src/orders/utils.ts +253 -0
  333. package/src/sdk/assets.ts +591 -0
  334. package/src/sdk/cancellation.ts +346 -0
  335. package/src/sdk/context.ts +33 -0
  336. package/src/sdk/fulfillment.ts +478 -0
  337. package/src/sdk/orders.ts +1149 -0
  338. package/src/sdk/tokens.ts +95 -0
  339. package/src/sdk.ts +1051 -0
  340. package/src/typechain/contracts/ERC1155.ts +440 -0
  341. package/src/typechain/contracts/ERC20.ts +286 -0
  342. package/src/typechain/contracts/ERC721.ts +412 -0
  343. package/src/typechain/contracts/Multicall3.ts +117 -0
  344. package/src/typechain/contracts/TransferHelper.ts +122 -0
  345. package/src/typechain/contracts/common.ts +131 -0
  346. package/src/typechain/contracts/factories/ERC1155__factory.ts +331 -0
  347. package/src/typechain/contracts/factories/ERC20__factory.ts +239 -0
  348. package/src/typechain/contracts/factories/ERC721__factory.ts +350 -0
  349. package/src/typechain/contracts/factories/Multicall3__factory.ts +67 -0
  350. package/src/typechain/contracts/factories/TransferHelper__factory.ts +76 -0
  351. package/src/typechain/contracts/factories/index.ts +8 -0
  352. package/src/typechain/contracts/index.ts +14 -0
  353. package/src/types.ts +413 -0
  354. package/src/utils/chain.ts +224 -0
  355. package/src/utils/chainIds.generated.ts +34 -0
  356. package/src/utils/converters.ts +145 -0
  357. package/src/utils/dateHelper.ts +48 -0
  358. package/src/utils/fees.ts +31 -0
  359. package/src/utils/index.ts +2 -0
  360. package/src/utils/protocol.ts +185 -0
  361. package/src/utils/rateLimit.ts +147 -0
  362. package/src/utils/stringHelper.ts +25 -0
  363. 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
+ }