@opensea/seaport-js 1.0.6 → 1.0.7

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 (316) hide show
  1. package/lib/__tests__/ascending-descending-amounts.spec.d.ts +1 -0
  2. package/lib/__tests__/ascending-descending-amounts.spec.js +1016 -0
  3. package/lib/__tests__/ascending-descending-amounts.spec.js.map +1 -0
  4. package/lib/__tests__/basic-fulfill.spec.d.ts +1 -0
  5. package/lib/__tests__/basic-fulfill.spec.js +914 -0
  6. package/lib/__tests__/basic-fulfill.spec.js.map +1 -0
  7. package/lib/__tests__/bundle.spec.d.ts +1 -0
  8. package/lib/__tests__/bundle.spec.js +1226 -0
  9. package/lib/__tests__/bundle.spec.js.map +1 -0
  10. package/lib/__tests__/cancel.spec.d.ts +1 -0
  11. package/lib/__tests__/cancel.spec.js +194 -0
  12. package/lib/__tests__/cancel.spec.js.map +1 -0
  13. package/lib/__tests__/create-order.spec.d.ts +1 -0
  14. package/lib/__tests__/create-order.spec.js +1043 -0
  15. package/lib/__tests__/create-order.spec.js.map +1 -0
  16. package/lib/__tests__/criteria-based.spec.d.ts +1 -0
  17. package/lib/__tests__/criteria-based.spec.js +1593 -0
  18. package/lib/__tests__/criteria-based.spec.js.map +1 -0
  19. package/lib/__tests__/fulfill-orders.spec.d.ts +1 -0
  20. package/lib/__tests__/fulfill-orders.spec.js +1010 -0
  21. package/lib/__tests__/fulfill-orders.spec.js.map +1 -0
  22. package/lib/__tests__/gifting.spec.d.ts +1 -0
  23. package/lib/__tests__/gifting.spec.js +374 -0
  24. package/lib/__tests__/gifting.spec.js.map +1 -0
  25. package/lib/__tests__/match-orders.spec.d.ts +1 -0
  26. package/lib/__tests__/match-orders.spec.js +425 -0
  27. package/lib/__tests__/match-orders.spec.js.map +1 -0
  28. package/lib/__tests__/partial-fulfill.spec.d.ts +1 -0
  29. package/lib/__tests__/partial-fulfill.spec.js +849 -0
  30. package/lib/__tests__/partial-fulfill.spec.js.map +1 -0
  31. package/lib/__tests__/sign-order.spec.d.ts +1 -0
  32. package/lib/__tests__/sign-order.spec.js +147 -0
  33. package/lib/__tests__/sign-order.spec.js.map +1 -0
  34. package/lib/__tests__/swap.spec.d.ts +1 -0
  35. package/lib/__tests__/swap.spec.js +594 -0
  36. package/lib/__tests__/swap.spec.js.map +1 -0
  37. package/lib/__tests__/utils/balance.d.ts +22 -0
  38. package/lib/__tests__/utils/balance.js +271 -0
  39. package/lib/__tests__/utils/balance.js.map +1 -0
  40. package/lib/__tests__/utils/examples/privateListings.d.ts +3 -0
  41. package/lib/__tests__/utils/examples/privateListings.js +139 -0
  42. package/lib/__tests__/utils/examples/privateListings.js.map +1 -0
  43. package/lib/__tests__/utils/setup.d.ts +11 -0
  44. package/lib/__tests__/utils/setup.js +119 -0
  45. package/lib/__tests__/utils/setup.js.map +1 -0
  46. package/lib/seaport.d.ts +15 -6
  47. package/lib/seaport.js +29 -28
  48. package/lib/seaport.js.map +1 -1
  49. package/lib/typechain/AmountDerivationErrors.d.ts +29 -0
  50. package/lib/typechain/AmountDerivationErrors.js +3 -0
  51. package/lib/typechain/AmountDerivationErrors.js.map +1 -0
  52. package/lib/typechain/AmountDeriver.d.ts +29 -0
  53. package/lib/typechain/AmountDeriver.js +3 -0
  54. package/lib/typechain/AmountDeriver.js.map +1 -0
  55. package/lib/typechain/Assertions.d.ts +124 -0
  56. package/lib/typechain/Assertions.js +3 -0
  57. package/lib/typechain/Assertions.js.map +1 -0
  58. package/lib/typechain/BasicOrderFulfiller.d.ts +124 -0
  59. package/lib/typechain/BasicOrderFulfiller.js +3 -0
  60. package/lib/typechain/BasicOrderFulfiller.js.map +1 -0
  61. package/lib/typechain/Conduit.d.ts +156 -0
  62. package/lib/typechain/Conduit.js +3 -0
  63. package/lib/typechain/Conduit.js.map +1 -0
  64. package/lib/typechain/ConduitController.d.ts +266 -0
  65. package/lib/typechain/ConduitController.js +3 -0
  66. package/lib/typechain/ConduitController.js.map +1 -0
  67. package/lib/typechain/ConduitControllerInterface.d.ts +266 -0
  68. package/lib/typechain/ConduitControllerInterface.js +3 -0
  69. package/lib/typechain/ConduitControllerInterface.js.map +1 -0
  70. package/lib/typechain/ConduitInterface.d.ts +156 -0
  71. package/lib/typechain/ConduitInterface.js +3 -0
  72. package/lib/typechain/ConduitInterface.js.map +1 -0
  73. package/lib/typechain/Consideration.d.ts +686 -0
  74. package/lib/typechain/Consideration.js +3 -0
  75. package/lib/typechain/Consideration.js.map +1 -0
  76. package/lib/typechain/ConsiderationBase.d.ts +124 -0
  77. package/lib/typechain/ConsiderationBase.js +3 -0
  78. package/lib/typechain/ConsiderationBase.js.map +1 -0
  79. package/lib/typechain/ConsiderationEventsAndErrors.d.ts +124 -0
  80. package/lib/typechain/ConsiderationEventsAndErrors.js +3 -0
  81. package/lib/typechain/ConsiderationEventsAndErrors.js.map +1 -0
  82. package/lib/typechain/ConsiderationInterface.d.ts +612 -0
  83. package/lib/typechain/ConsiderationInterface.js +3 -0
  84. package/lib/typechain/ConsiderationInterface.js.map +1 -0
  85. package/lib/typechain/CounterManager.d.ts +124 -0
  86. package/lib/typechain/CounterManager.js +3 -0
  87. package/lib/typechain/CounterManager.js.map +1 -0
  88. package/lib/typechain/CriteriaResolution.d.ts +29 -0
  89. package/lib/typechain/CriteriaResolution.js +3 -0
  90. package/lib/typechain/CriteriaResolution.js.map +1 -0
  91. package/lib/typechain/CriteriaResolutionErrors.d.ts +29 -0
  92. package/lib/typechain/CriteriaResolutionErrors.js +3 -0
  93. package/lib/typechain/CriteriaResolutionErrors.js.map +1 -0
  94. package/lib/typechain/EIP1271Interface.d.ts +43 -0
  95. package/lib/typechain/EIP1271Interface.js +3 -0
  96. package/lib/typechain/EIP1271Interface.js.map +1 -0
  97. package/lib/typechain/ERC1155Interface.d.ts +67 -0
  98. package/lib/typechain/ERC1155Interface.js +3 -0
  99. package/lib/typechain/ERC1155Interface.js.map +1 -0
  100. package/lib/typechain/ERC1155TokenReceiver.d.ts +67 -0
  101. package/lib/typechain/ERC1155TokenReceiver.js +3 -0
  102. package/lib/typechain/ERC1155TokenReceiver.js.map +1 -0
  103. package/lib/typechain/ERC20Interface.d.ts +51 -0
  104. package/lib/typechain/ERC20Interface.js +3 -0
  105. package/lib/typechain/ERC20Interface.js.map +1 -0
  106. package/lib/typechain/ERC721Interface.d.ts +51 -0
  107. package/lib/typechain/ERC721Interface.js +3 -0
  108. package/lib/typechain/ERC721Interface.js.map +1 -0
  109. package/lib/typechain/ERC721TokenReceiver.d.ts +51 -0
  110. package/lib/typechain/ERC721TokenReceiver.js +3 -0
  111. package/lib/typechain/ERC721TokenReceiver.js.map +1 -0
  112. package/lib/typechain/Executor.d.ts +124 -0
  113. package/lib/typechain/Executor.js +3 -0
  114. package/lib/typechain/Executor.js.map +1 -0
  115. package/lib/typechain/FulfillmentApplicationErrors.d.ts +29 -0
  116. package/lib/typechain/FulfillmentApplicationErrors.js +3 -0
  117. package/lib/typechain/FulfillmentApplicationErrors.js.map +1 -0
  118. package/lib/typechain/FulfillmentApplier.d.ts +29 -0
  119. package/lib/typechain/FulfillmentApplier.js +3 -0
  120. package/lib/typechain/FulfillmentApplier.js.map +1 -0
  121. package/lib/typechain/GettersAndDerivers.d.ts +124 -0
  122. package/lib/typechain/GettersAndDerivers.js +3 -0
  123. package/lib/typechain/GettersAndDerivers.js.map +1 -0
  124. package/lib/typechain/OrderCombiner.d.ts +124 -0
  125. package/lib/typechain/OrderCombiner.js +3 -0
  126. package/lib/typechain/OrderCombiner.js.map +1 -0
  127. package/lib/typechain/OrderFulfiller.d.ts +124 -0
  128. package/lib/typechain/OrderFulfiller.js +3 -0
  129. package/lib/typechain/OrderFulfiller.js.map +1 -0
  130. package/lib/typechain/OrderValidator.d.ts +124 -0
  131. package/lib/typechain/OrderValidator.js +3 -0
  132. package/lib/typechain/OrderValidator.js.map +1 -0
  133. package/lib/typechain/ReentrancyErrors.d.ts +29 -0
  134. package/lib/typechain/ReentrancyErrors.js +3 -0
  135. package/lib/typechain/ReentrancyErrors.js.map +1 -0
  136. package/lib/typechain/ReentrancyGuard.d.ts +29 -0
  137. package/lib/typechain/ReentrancyGuard.js +3 -0
  138. package/lib/typechain/ReentrancyGuard.js.map +1 -0
  139. package/lib/typechain/SignatureVerification.d.ts +29 -0
  140. package/lib/typechain/SignatureVerification.js +3 -0
  141. package/lib/typechain/SignatureVerification.js.map +1 -0
  142. package/lib/typechain/SignatureVerificationErrors.d.ts +29 -0
  143. package/lib/typechain/SignatureVerificationErrors.js +3 -0
  144. package/lib/typechain/SignatureVerificationErrors.js.map +1 -0
  145. package/lib/typechain/TestERC1155.d.ts +205 -0
  146. package/lib/typechain/TestERC1155.js +3 -0
  147. package/lib/typechain/TestERC1155.js.map +1 -0
  148. package/lib/typechain/TestERC20.d.ts +249 -0
  149. package/lib/typechain/TestERC20.js +3 -0
  150. package/lib/typechain/TestERC20.js.map +1 -0
  151. package/lib/typechain/TestERC721.d.ts +236 -0
  152. package/lib/typechain/TestERC721.js +3 -0
  153. package/lib/typechain/TestERC721.js.map +1 -0
  154. package/lib/typechain/TokenTransferrer.d.ts +29 -0
  155. package/lib/typechain/TokenTransferrer.js +3 -0
  156. package/lib/typechain/TokenTransferrer.js.map +1 -0
  157. package/lib/typechain/TokenTransferrerErrors.d.ts +29 -0
  158. package/lib/typechain/TokenTransferrerErrors.js +3 -0
  159. package/lib/typechain/TokenTransferrerErrors.js.map +1 -0
  160. package/lib/typechain/Verifiers.d.ts +124 -0
  161. package/lib/typechain/Verifiers.js +3 -0
  162. package/lib/typechain/Verifiers.js.map +1 -0
  163. package/lib/typechain/ZoneInteraction.d.ts +29 -0
  164. package/lib/typechain/ZoneInteraction.js +3 -0
  165. package/lib/typechain/ZoneInteraction.js.map +1 -0
  166. package/lib/typechain/ZoneInteractionErrors.d.ts +29 -0
  167. package/lib/typechain/ZoneInteractionErrors.js +3 -0
  168. package/lib/typechain/ZoneInteractionErrors.js.map +1 -0
  169. package/lib/typechain/ZoneInterface.d.ts +182 -0
  170. package/lib/typechain/ZoneInterface.js +3 -0
  171. package/lib/typechain/ZoneInterface.js.map +1 -0
  172. package/lib/typechain/factories/AmountDerivationErrors__factory.d.ts +12 -0
  173. package/lib/typechain/factories/AmountDerivationErrors__factory.js +28 -0
  174. package/lib/typechain/factories/AmountDerivationErrors__factory.js.map +1 -0
  175. package/lib/typechain/factories/AmountDeriver__factory.d.ts +26 -0
  176. package/lib/typechain/factories/AmountDeriver__factory.js +97 -0
  177. package/lib/typechain/factories/AmountDeriver__factory.js.map +1 -0
  178. package/lib/typechain/factories/Assertions__factory.d.ts +64 -0
  179. package/lib/typechain/factories/Assertions__factory.js +526 -0
  180. package/lib/typechain/factories/Assertions__factory.js.map +1 -0
  181. package/lib/typechain/factories/BasicOrderFulfiller__factory.d.ts +64 -0
  182. package/lib/typechain/factories/BasicOrderFulfiller__factory.js +563 -0
  183. package/lib/typechain/factories/BasicOrderFulfiller__factory.js.map +1 -0
  184. package/lib/typechain/factories/ConduitControllerInterface__factory.d.ts +46 -0
  185. package/lib/typechain/factories/ConduitControllerInterface__factory.js +453 -0
  186. package/lib/typechain/factories/ConduitControllerInterface__factory.js.map +1 -0
  187. package/lib/typechain/factories/ConduitController__factory.d.ts +67 -0
  188. package/lib/typechain/factories/ConduitController__factory.js +527 -0
  189. package/lib/typechain/factories/ConduitController__factory.js.map +1 -0
  190. package/lib/typechain/factories/ConduitInterface__factory.d.ts +62 -0
  191. package/lib/typechain/factories/ConduitInterface__factory.js +282 -0
  192. package/lib/typechain/factories/ConduitInterface__factory.js.map +1 -0
  193. package/lib/typechain/factories/Conduit__factory.d.ts +83 -0
  194. package/lib/typechain/factories/Conduit__factory.js +465 -0
  195. package/lib/typechain/factories/Conduit__factory.js.map +1 -0
  196. package/lib/typechain/factories/ConsiderationBase__factory.d.ts +64 -0
  197. package/lib/typechain/factories/ConsiderationBase__factory.js +412 -0
  198. package/lib/typechain/factories/ConsiderationBase__factory.js.map +1 -0
  199. package/lib/typechain/factories/ConsiderationEventsAndErrors__factory.d.ts +38 -0
  200. package/lib/typechain/factories/ConsiderationEventsAndErrors__factory.js +332 -0
  201. package/lib/typechain/factories/ConsiderationEventsAndErrors__factory.js.map +1 -0
  202. package/lib/typechain/factories/ConsiderationInterface__factory.d.ts +72 -0
  203. package/lib/typechain/factories/ConsiderationInterface__factory.js +2064 -0
  204. package/lib/typechain/factories/ConsiderationInterface__factory.js.map +1 -0
  205. package/lib/typechain/factories/Consideration__factory.d.ts +132 -0
  206. package/lib/typechain/factories/Consideration__factory.js +2670 -0
  207. package/lib/typechain/factories/Consideration__factory.js.map +1 -0
  208. package/lib/typechain/factories/CounterManager__factory.d.ts +52 -0
  209. package/lib/typechain/factories/CounterManager__factory.js +406 -0
  210. package/lib/typechain/factories/CounterManager__factory.js.map +1 -0
  211. package/lib/typechain/factories/CriteriaResolutionErrors__factory.d.ts +12 -0
  212. package/lib/typechain/factories/CriteriaResolutionErrors__factory.js +58 -0
  213. package/lib/typechain/factories/CriteriaResolutionErrors__factory.js.map +1 -0
  214. package/lib/typechain/factories/CriteriaResolution__factory.d.ts +26 -0
  215. package/lib/typechain/factories/CriteriaResolution__factory.js +127 -0
  216. package/lib/typechain/factories/CriteriaResolution__factory.js.map +1 -0
  217. package/lib/typechain/factories/EIP1271Interface__factory.d.ts +22 -0
  218. package/lib/typechain/factories/EIP1271Interface__factory.js +47 -0
  219. package/lib/typechain/factories/EIP1271Interface__factory.js.map +1 -0
  220. package/lib/typechain/factories/ERC1155Interface__factory.d.ts +18 -0
  221. package/lib/typechain/factories/ERC1155Interface__factory.js +89 -0
  222. package/lib/typechain/factories/ERC1155Interface__factory.js.map +1 -0
  223. package/lib/typechain/factories/ERC1155TokenReceiver__factory.d.ts +22 -0
  224. package/lib/typechain/factories/ERC1155TokenReceiver__factory.js +101 -0
  225. package/lib/typechain/factories/ERC1155TokenReceiver__factory.js.map +1 -0
  226. package/lib/typechain/factories/ERC1155__factory.d.ts +35 -0
  227. package/lib/typechain/factories/ERC1155__factory.js +335 -0
  228. package/lib/typechain/factories/ERC1155__factory.js.map +1 -0
  229. package/lib/typechain/factories/ERC20Interface__factory.d.ts +22 -0
  230. package/lib/typechain/factories/ERC20Interface__factory.js +52 -0
  231. package/lib/typechain/factories/ERC20Interface__factory.js.map +1 -0
  232. package/lib/typechain/factories/ERC20__factory.d.ts +35 -0
  233. package/lib/typechain/factories/ERC20__factory.js +333 -0
  234. package/lib/typechain/factories/ERC20__factory.js.map +1 -0
  235. package/lib/typechain/factories/ERC721Interface__factory.d.ts +18 -0
  236. package/lib/typechain/factories/ERC721Interface__factory.js +46 -0
  237. package/lib/typechain/factories/ERC721Interface__factory.js.map +1 -0
  238. package/lib/typechain/factories/ERC721TokenReceiver__factory.d.ts +22 -0
  239. package/lib/typechain/factories/ERC721TokenReceiver__factory.js +57 -0
  240. package/lib/typechain/factories/ERC721TokenReceiver__factory.js.map +1 -0
  241. package/lib/typechain/factories/ERC721__factory.d.ts +35 -0
  242. package/lib/typechain/factories/ERC721__factory.js +353 -0
  243. package/lib/typechain/factories/ERC721__factory.js.map +1 -0
  244. package/lib/typechain/factories/Executor__factory.d.ts +64 -0
  245. package/lib/typechain/factories/Executor__factory.js +552 -0
  246. package/lib/typechain/factories/Executor__factory.js.map +1 -0
  247. package/lib/typechain/factories/FulfillmentApplicationErrors__factory.d.ts +16 -0
  248. package/lib/typechain/factories/FulfillmentApplicationErrors__factory.js +49 -0
  249. package/lib/typechain/factories/FulfillmentApplicationErrors__factory.js.map +1 -0
  250. package/lib/typechain/factories/FulfillmentApplier__factory.d.ts +30 -0
  251. package/lib/typechain/factories/FulfillmentApplier__factory.js +118 -0
  252. package/lib/typechain/factories/FulfillmentApplier__factory.js.map +1 -0
  253. package/lib/typechain/factories/GettersAndDerivers__factory.d.ts +64 -0
  254. package/lib/typechain/factories/GettersAndDerivers__factory.js +412 -0
  255. package/lib/typechain/factories/GettersAndDerivers__factory.js.map +1 -0
  256. package/lib/typechain/factories/OrderCombiner__factory.d.ts +64 -0
  257. package/lib/typechain/factories/OrderCombiner__factory.js +629 -0
  258. package/lib/typechain/factories/OrderCombiner__factory.js.map +1 -0
  259. package/lib/typechain/factories/OrderFulfiller__factory.d.ts +64 -0
  260. package/lib/typechain/factories/OrderFulfiller__factory.js +603 -0
  261. package/lib/typechain/factories/OrderFulfiller__factory.js.map +1 -0
  262. package/lib/typechain/factories/OrderValidator__factory.d.ts +64 -0
  263. package/lib/typechain/factories/OrderValidator__factory.js +563 -0
  264. package/lib/typechain/factories/OrderValidator__factory.js.map +1 -0
  265. package/lib/typechain/factories/ReentrancyErrors__factory.d.ts +12 -0
  266. package/lib/typechain/factories/ReentrancyErrors__factory.js +28 -0
  267. package/lib/typechain/factories/ReentrancyErrors__factory.js.map +1 -0
  268. package/lib/typechain/factories/ReentrancyGuard__factory.d.ts +32 -0
  269. package/lib/typechain/factories/ReentrancyGuard__factory.js +102 -0
  270. package/lib/typechain/factories/ReentrancyGuard__factory.js.map +1 -0
  271. package/lib/typechain/factories/Seaport__factory.d.ts +132 -0
  272. package/lib/typechain/factories/Seaport__factory.js +2670 -0
  273. package/lib/typechain/factories/Seaport__factory.js.map +1 -0
  274. package/lib/typechain/factories/SignatureVerificationErrors__factory.d.ts +16 -0
  275. package/lib/typechain/factories/SignatureVerificationErrors__factory.js +49 -0
  276. package/lib/typechain/factories/SignatureVerificationErrors__factory.js.map +1 -0
  277. package/lib/typechain/factories/SignatureVerification__factory.d.ts +30 -0
  278. package/lib/typechain/factories/SignatureVerification__factory.js +118 -0
  279. package/lib/typechain/factories/SignatureVerification__factory.js.map +1 -0
  280. package/lib/typechain/factories/TestERC1155__factory.d.ts +49 -0
  281. package/lib/typechain/factories/TestERC1155__factory.js +433 -0
  282. package/lib/typechain/factories/TestERC1155__factory.js.map +1 -0
  283. package/lib/typechain/factories/TestERC20__factory.d.ts +56 -0
  284. package/lib/typechain/factories/TestERC20__factory.js +457 -0
  285. package/lib/typechain/factories/TestERC20__factory.js.map +1 -0
  286. package/lib/typechain/factories/TestERC721__factory.d.ts +49 -0
  287. package/lib/typechain/factories/TestERC721__factory.js +446 -0
  288. package/lib/typechain/factories/TestERC721__factory.js.map +1 -0
  289. package/lib/typechain/factories/TokenTransferrerErrors__factory.d.ts +16 -0
  290. package/lib/typechain/factories/TokenTransferrerErrors__factory.js +132 -0
  291. package/lib/typechain/factories/TokenTransferrerErrors__factory.js.map +1 -0
  292. package/lib/typechain/factories/TokenTransferrer__factory.d.ts +30 -0
  293. package/lib/typechain/factories/TokenTransferrer__factory.js +201 -0
  294. package/lib/typechain/factories/TokenTransferrer__factory.js.map +1 -0
  295. package/lib/typechain/factories/Verifiers__factory.d.ts +64 -0
  296. package/lib/typechain/factories/Verifiers__factory.js +552 -0
  297. package/lib/typechain/factories/Verifiers__factory.js.map +1 -0
  298. package/lib/typechain/factories/ZoneInteractionErrors__factory.d.ts +16 -0
  299. package/lib/typechain/factories/ZoneInteractionErrors__factory.js +34 -0
  300. package/lib/typechain/factories/ZoneInteractionErrors__factory.js.map +1 -0
  301. package/lib/typechain/factories/ZoneInteraction__factory.d.ts +30 -0
  302. package/lib/typechain/factories/ZoneInteraction__factory.js +103 -0
  303. package/lib/typechain/factories/ZoneInteraction__factory.js.map +1 -0
  304. package/lib/typechain/factories/ZoneInterface__factory.d.ts +52 -0
  305. package/lib/typechain/factories/ZoneInterface__factory.js +266 -0
  306. package/lib/typechain/factories/ZoneInterface__factory.js.map +1 -0
  307. package/lib/typechain/index.d.ts +90 -0
  308. package/lib/typechain/index.js +94 -0
  309. package/lib/typechain/index.js.map +1 -0
  310. package/lib/utils/fulfill.d.ts +6 -3
  311. package/lib/utils/fulfill.js +7 -11
  312. package/lib/utils/fulfill.js.map +1 -1
  313. package/lib/utils/usecase.d.ts +2 -1
  314. package/lib/utils/usecase.js +38 -11
  315. package/lib/utils/usecase.js.map +1 -1
  316. package/package.json +1 -1
@@ -0,0 +1,271 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __read = (this && this.__read) || function (o, n) {
50
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
51
+ if (!m) return o;
52
+ var i = m.call(o), r, ar = [], e;
53
+ try {
54
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
+ }
56
+ catch (error) { e = { error: error }; }
57
+ finally {
58
+ try {
59
+ if (r && !r.done && (m = i["return"])) m.call(i);
60
+ }
61
+ finally { if (e) throw e.error; }
62
+ }
63
+ return ar;
64
+ };
65
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
+ if (ar || !(i in from)) {
68
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
+ ar[i] = from[i];
70
+ }
71
+ }
72
+ return to.concat(ar || Array.prototype.slice.call(from));
73
+ };
74
+ var __values = (this && this.__values) || function(o) {
75
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
76
+ if (m) return m.call(o);
77
+ if (o && typeof o.length === "number") return {
78
+ next: function () {
79
+ if (o && i >= o.length) o = void 0;
80
+ return { value: o && o[i++], done: !o };
81
+ }
82
+ };
83
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
84
+ };
85
+ Object.defineProperty(exports, "__esModule", { value: true });
86
+ exports.verifyBalancesAfterFulfill = exports.getBalancesForFulfillOrder = exports.setBalance = void 0;
87
+ var ethers_1 = require("ethers");
88
+ var utils_1 = require("ethers/lib/utils");
89
+ var balance_1 = require("../../utils/balance");
90
+ var item_1 = require("../../utils/item");
91
+ var chai_1 = require("chai");
92
+ var hardhat_1 = require("hardhat");
93
+ var order_1 = require("../../utils/order");
94
+ var setBalance = function (address, provider, amountEth) {
95
+ if (amountEth === void 0) { amountEth = (0, utils_1.parseEther)("10000").toHexString().replace("0x0", "0x"); }
96
+ return __awaiter(void 0, void 0, void 0, function () {
97
+ return __generator(this, function (_a) {
98
+ switch (_a.label) {
99
+ case 0: return [4 /*yield*/, provider.send("hardhat_setBalance", [
100
+ address,
101
+ (0, utils_1.parseEther)(amountEth).toHexString().replace("0x0", "0x"),
102
+ ])];
103
+ case 1:
104
+ _a.sent();
105
+ return [2 /*return*/];
106
+ }
107
+ });
108
+ });
109
+ };
110
+ exports.setBalance = setBalance;
111
+ var getBalancesForFulfillOrder = function (order, fulfillerAddress, multicallProvider) { return __awaiter(void 0, void 0, void 0, function () {
112
+ var _a, offer, consideration, offerer, relevantAddresses, ownerToTokenToIdentifierBalances, _b, _c, item, relevantAddresses_1, relevantAddresses_1_1, address;
113
+ var e_1, _d, e_2, _e, _f, _g;
114
+ return __generator(this, function (_h) {
115
+ switch (_h.label) {
116
+ case 0:
117
+ _a = order.parameters, offer = _a.offer, consideration = _a.consideration, offerer = _a.offerer;
118
+ relevantAddresses = Array.from(new Set(__spreadArray([
119
+ offerer,
120
+ fulfillerAddress
121
+ ], __read(consideration.map(function (item) { return item.recipient; })), false)));
122
+ ownerToTokenToIdentifierBalances = {};
123
+ relevantAddresses.forEach(function (address) {
124
+ ownerToTokenToIdentifierBalances[address] = {};
125
+ });
126
+ try {
127
+ // Just prepopulate all the keys so we can do an async map
128
+ for (_b = __values(__spreadArray(__spreadArray([], __read(offer), false), __read(consideration), false)), _c = _b.next(); !_c.done; _c = _b.next()) {
129
+ item = _c.value;
130
+ try {
131
+ for (relevantAddresses_1 = (e_2 = void 0, __values(relevantAddresses)), relevantAddresses_1_1 = relevantAddresses_1.next(); !relevantAddresses_1_1.done; relevantAddresses_1_1 = relevantAddresses_1.next()) {
132
+ address = relevantAddresses_1_1.value;
133
+ ownerToTokenToIdentifierBalances[address] = __assign(__assign({}, ownerToTokenToIdentifierBalances[address]), (_f = {}, _f[item.token] = (_g = {},
134
+ _g[item.identifierOrCriteria] = {
135
+ item: item,
136
+ balance: ethers_1.BigNumber.from(0),
137
+ },
138
+ _g), _f));
139
+ }
140
+ }
141
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
142
+ finally {
143
+ try {
144
+ if (relevantAddresses_1_1 && !relevantAddresses_1_1.done && (_e = relevantAddresses_1.return)) _e.call(relevantAddresses_1);
145
+ }
146
+ finally { if (e_2) throw e_2.error; }
147
+ }
148
+ }
149
+ }
150
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
151
+ finally {
152
+ try {
153
+ if (_c && !_c.done && (_d = _b.return)) _d.call(_b);
154
+ }
155
+ finally { if (e_1) throw e_1.error; }
156
+ }
157
+ return [4 /*yield*/, Promise.all(__spreadArray(__spreadArray([], __read(offer), false), __read(consideration), false).map(function (item) {
158
+ return Promise.all(__spreadArray([], __read(relevantAddresses.map(function (address) { return __awaiter(void 0, void 0, void 0, function () {
159
+ var _a, _b;
160
+ var _c;
161
+ return __generator(this, function (_d) {
162
+ switch (_d.label) {
163
+ case 0:
164
+ _a = ownerToTokenToIdentifierBalances[address][item.token];
165
+ _b = item.identifierOrCriteria;
166
+ _c = {
167
+ item: item
168
+ };
169
+ return [4 /*yield*/, (0, balance_1.balanceOf)(address, item, multicallProvider)];
170
+ case 1:
171
+ _a[_b] = (_c.balance = _d.sent(),
172
+ _c);
173
+ return [2 /*return*/];
174
+ }
175
+ });
176
+ }); })), false));
177
+ }))];
178
+ case 1:
179
+ _h.sent();
180
+ return [2 /*return*/, ownerToTokenToIdentifierBalances];
181
+ }
182
+ });
183
+ }); };
184
+ exports.getBalancesForFulfillOrder = getBalancesForFulfillOrder;
185
+ var verifyBalancesAfterFulfill = function (_a) {
186
+ var ownerToTokenToIdentifierBalances = _a.ownerToTokenToIdentifierBalances, order = _a.order, unitsToFill = _a.unitsToFill, orderStatus = _a.orderStatus, fulfillReceipt = _a.fulfillReceipt, fulfillerAddress = _a.fulfillerAddress, multicallProvider = _a.multicallProvider, timeBasedItemParams = _a.timeBasedItemParams;
187
+ return __awaiter(void 0, void 0, void 0, function () {
188
+ var totalFilled, totalSize, orderWithAdjustedFills, _b, offer, consideration, offerer;
189
+ var _c, _d;
190
+ return __generator(this, function (_e) {
191
+ switch (_e.label) {
192
+ case 0:
193
+ totalFilled = (_c = orderStatus === null || orderStatus === void 0 ? void 0 : orderStatus.totalFilled) !== null && _c !== void 0 ? _c : ethers_1.BigNumber.from(0);
194
+ totalSize = (_d = orderStatus === null || orderStatus === void 0 ? void 0 : orderStatus.totalSize) !== null && _d !== void 0 ? _d : ethers_1.BigNumber.from(0);
195
+ orderWithAdjustedFills = unitsToFill
196
+ ? (0, order_1.mapOrderAmountsFromUnitsToFill)(order, {
197
+ unitsToFill: unitsToFill,
198
+ totalFilled: totalFilled,
199
+ totalSize: totalSize,
200
+ })
201
+ : (0, order_1.mapOrderAmountsFromFilledStatus)(order, {
202
+ totalFilled: totalFilled,
203
+ totalSize: totalSize,
204
+ });
205
+ _b = orderWithAdjustedFills.parameters, offer = _b.offer, consideration = _b.consideration, offerer = _b.offerer;
206
+ // Offer items are depleted
207
+ offer.forEach(function (item) {
208
+ var exchangedAmount = (0, item_1.getPresentItemAmount)({
209
+ startAmount: item.startAmount,
210
+ endAmount: item.endAmount,
211
+ timeBasedItemParams: timeBasedItemParams
212
+ ? __assign(__assign({}, timeBasedItemParams), { isConsiderationItem: false }) : undefined,
213
+ });
214
+ ownerToTokenToIdentifierBalances[offerer][item.token][item.identifierOrCriteria] = {
215
+ item: item,
216
+ balance: ownerToTokenToIdentifierBalances[offerer][item.token][item.identifierOrCriteria].balance.sub(exchangedAmount),
217
+ };
218
+ ownerToTokenToIdentifierBalances[fulfillerAddress][item.token][item.identifierOrCriteria] = {
219
+ item: item,
220
+ balance: ownerToTokenToIdentifierBalances[fulfillerAddress][item.token][item.identifierOrCriteria].balance.add(exchangedAmount),
221
+ };
222
+ });
223
+ consideration.forEach(function (item) {
224
+ var exchangedAmount = (0, item_1.getPresentItemAmount)({
225
+ startAmount: item.startAmount,
226
+ endAmount: item.endAmount,
227
+ timeBasedItemParams: timeBasedItemParams
228
+ ? __assign(__assign({}, timeBasedItemParams), { isConsiderationItem: true }) : undefined,
229
+ });
230
+ ownerToTokenToIdentifierBalances[fulfillerAddress][item.token][item.identifierOrCriteria] = {
231
+ item: item,
232
+ balance: ownerToTokenToIdentifierBalances[fulfillerAddress][item.token][item.identifierOrCriteria].balance.sub(exchangedAmount),
233
+ };
234
+ ownerToTokenToIdentifierBalances[item.recipient][item.token][item.identifierOrCriteria] = {
235
+ item: item,
236
+ balance: ownerToTokenToIdentifierBalances[item.recipient][item.token][item.identifierOrCriteria].balance.add(exchangedAmount),
237
+ };
238
+ });
239
+ // Take into account gas costs
240
+ if (ownerToTokenToIdentifierBalances[fulfillerAddress][hardhat_1.ethers.constants.AddressZero]) {
241
+ ownerToTokenToIdentifierBalances[fulfillerAddress][hardhat_1.ethers.constants.AddressZero][0] = __assign(__assign({}, ownerToTokenToIdentifierBalances[fulfillerAddress][hardhat_1.ethers.constants.AddressZero][0]), { balance: ownerToTokenToIdentifierBalances[fulfillerAddress][hardhat_1.ethers.constants.AddressZero][0].balance.sub(fulfillReceipt.gasUsed.mul(fulfillReceipt.effectiveGasPrice)) });
242
+ }
243
+ return [4 /*yield*/, Promise.all(__spreadArray([], __read(Object.entries(ownerToTokenToIdentifierBalances).map(function (_a) {
244
+ var _b = __read(_a, 2), owner = _b[0], tokenToIdentifierBalances = _b[1];
245
+ return Promise.all(__spreadArray([], __read(Object.values(tokenToIdentifierBalances).map(function (identifierToBalance) {
246
+ return Promise.all(__spreadArray([], __read(Object.values(identifierToBalance).map(function (_a) {
247
+ var balance = _a.balance, item = _a.item;
248
+ return __awaiter(void 0, void 0, void 0, function () {
249
+ var actualBalance;
250
+ return __generator(this, function (_b) {
251
+ switch (_b.label) {
252
+ case 0: return [4 /*yield*/, (0, balance_1.balanceOf)(owner, item, multicallProvider)];
253
+ case 1:
254
+ actualBalance = _b.sent();
255
+ (0, chai_1.expect)(balance).equal(actualBalance);
256
+ return [2 /*return*/];
257
+ }
258
+ });
259
+ });
260
+ })), false));
261
+ })), false));
262
+ })), false))];
263
+ case 1:
264
+ _e.sent();
265
+ return [2 /*return*/];
266
+ }
267
+ });
268
+ });
269
+ };
270
+ exports.verifyBalancesAfterFulfill = verifyBalancesAfterFulfill;
271
+ //# sourceMappingURL=balance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../src/__tests__/utils/balance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { MatchOrdersFulfillment, Order, OrderWithCounter } from "../../../types";
2
+ export declare const constructPrivateListingCounterOrder: (order: OrderWithCounter, privateSaleRecipient: string) => Order;
3
+ export declare const getPrivateListingFulfillments: (privateListingOrder: OrderWithCounter) => MatchOrdersFulfillment[];
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
31
+ if (ar || !(i in from)) {
32
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
33
+ ar[i] = from[i];
34
+ }
35
+ }
36
+ return to.concat(ar || Array.prototype.slice.call(from));
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getPrivateListingFulfillments = exports.constructPrivateListingCounterOrder = void 0;
40
+ var ethers_1 = require("ethers");
41
+ var item_1 = require("../../../utils/item");
42
+ var order_1 = require("../../../utils/order");
43
+ var constructPrivateListingCounterOrder = function (order, privateSaleRecipient) {
44
+ // Counter order offers up all the items in the private listing consideration
45
+ // besides the items that are going to the private listing recipient
46
+ var paymentItems = order.parameters.consideration.filter(function (item) {
47
+ return item.recipient.toLowerCase() !== privateSaleRecipient.toLowerCase();
48
+ });
49
+ if (!paymentItems.every(function (item) { return (0, item_1.isCurrencyItem)(item); })) {
50
+ throw new Error("The consideration for the private listing did not contain only currency items");
51
+ }
52
+ if (!paymentItems.every(function (item) { return item.itemType === paymentItems[0].itemType; })) {
53
+ throw new Error("Not all currency items were the same for private order");
54
+ }
55
+ var _a = paymentItems.reduce(function (_a, item) {
56
+ var aggregatedStartAmount = _a.aggregatedStartAmount, aggregatedEndAmount = _a.aggregatedEndAmount;
57
+ return ({
58
+ aggregatedStartAmount: aggregatedStartAmount.add(item.startAmount),
59
+ aggregatedEndAmount: aggregatedEndAmount.add(item.endAmount),
60
+ });
61
+ }, {
62
+ aggregatedStartAmount: ethers_1.BigNumber.from(0),
63
+ aggregatedEndAmount: ethers_1.BigNumber.from(0),
64
+ }), aggregatedStartAmount = _a.aggregatedStartAmount, aggregatedEndAmount = _a.aggregatedEndAmount;
65
+ var counterOrder = {
66
+ parameters: __assign(__assign({}, order.parameters), { offerer: privateSaleRecipient, offer: [
67
+ {
68
+ itemType: paymentItems[0].itemType,
69
+ token: paymentItems[0].token,
70
+ identifierOrCriteria: paymentItems[0].identifierOrCriteria,
71
+ startAmount: aggregatedStartAmount.toString(),
72
+ endAmount: aggregatedEndAmount.toString(),
73
+ },
74
+ ],
75
+ // The consideration here is empty as the original private listing order supplies
76
+ // the taker address to receive the desired items.
77
+ consideration: [], salt: (0, order_1.generateRandomSalt)(), totalOriginalConsiderationItems: 0 }),
78
+ signature: "0x",
79
+ };
80
+ return counterOrder;
81
+ };
82
+ exports.constructPrivateListingCounterOrder = constructPrivateListingCounterOrder;
83
+ var getPrivateListingFulfillments = function (privateListingOrder) {
84
+ var nftRelatedFulfillments = [];
85
+ // For the original order, we need to match everything offered with every consideration item
86
+ // on the original order that's set to go to the private listing recipient
87
+ privateListingOrder.parameters.offer.forEach(function (offerItem, offerIndex) {
88
+ var considerationIndex = privateListingOrder.parameters.consideration.findIndex(function (considerationItem) {
89
+ return considerationItem.itemType === offerItem.itemType &&
90
+ considerationItem.token === offerItem.token &&
91
+ considerationItem.identifierOrCriteria ===
92
+ offerItem.identifierOrCriteria;
93
+ });
94
+ if (considerationIndex === -1) {
95
+ throw new Error("Could not find matching offer item in the consideration for private listing");
96
+ }
97
+ nftRelatedFulfillments.push({
98
+ offerComponents: [
99
+ {
100
+ orderIndex: 0,
101
+ itemIndex: offerIndex,
102
+ },
103
+ ],
104
+ considerationComponents: [
105
+ {
106
+ orderIndex: 0,
107
+ itemIndex: considerationIndex,
108
+ },
109
+ ],
110
+ });
111
+ });
112
+ var currencyRelatedFulfillments = [];
113
+ // For the original order, we need to match everything offered with every consideration item
114
+ // on the original order that's set to go to the private listing recipient
115
+ privateListingOrder.parameters.consideration.forEach(function (considerationItem, considerationIndex) {
116
+ if (!(0, item_1.isCurrencyItem)(considerationItem)) {
117
+ return;
118
+ }
119
+ // We always match the offer item (index 0) of the counter order (index 1)
120
+ // with all of the payment items on the private listing
121
+ currencyRelatedFulfillments.push({
122
+ offerComponents: [
123
+ {
124
+ orderIndex: 1,
125
+ itemIndex: 0,
126
+ },
127
+ ],
128
+ considerationComponents: [
129
+ {
130
+ orderIndex: 0,
131
+ itemIndex: considerationIndex,
132
+ },
133
+ ],
134
+ });
135
+ });
136
+ return __spreadArray(__spreadArray([], __read(nftRelatedFulfillments), false), __read(currencyRelatedFulfillments), false);
137
+ };
138
+ exports.getPrivateListingFulfillments = getPrivateListingFulfillments;
139
+ //# sourceMappingURL=privateListings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privateListings.js","sourceRoot":"","sources":["../../../../src/__tests__/utils/examples/privateListings.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAmC;AAMnC,4CAAqD;AACrD,8CAA0D;AAEnD,IAAM,mCAAmC,GAAG,UACjD,KAAuB,EACvB,oBAA4B;IAE5B,6EAA6E;IAC7E,oEAAoE;IACpE,IAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CACxD,UAAC,IAAI;QACH,OAAA,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,oBAAoB,CAAC,WAAW,EAAE;IAAnE,CAAmE,CACtE,CAAC;IAEF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAC,IAAI,IAAK,OAAA,IAAA,qBAAc,EAAC,IAAI,CAAC,EAApB,CAAoB,CAAC,EAAE;QACvD,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;KACH;IACD,IACE,CAAC,YAAY,CAAC,KAAK,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAA1C,CAA0C,CAAC,EACzE;QACA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;KAC3E;IAEK,IAAA,KAAiD,YAAY,CAAC,MAAM,CACxE,UAAC,EAA8C,EAAE,IAAI;YAAlD,qBAAqB,2BAAA,EAAE,mBAAmB,yBAAA;QAAa,OAAA,CAAC;YACzD,qBAAqB,EAAE,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;YAClE,mBAAmB,EAAE,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;SAC7D,CAAC;IAHwD,CAGxD,EACF;QACE,qBAAqB,EAAE,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,mBAAmB,EAAE,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;KACvC,CACF,EATO,qBAAqB,2BAAA,EAAE,mBAAmB,yBASjD,CAAC;IAEF,IAAM,YAAY,GAAU;QAC1B,UAAU,wBACL,KAAK,CAAC,UAAU,KACnB,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE;gBACL;oBACE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ;oBAClC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK;oBAC5B,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,oBAAoB;oBAC1D,WAAW,EAAE,qBAAqB,CAAC,QAAQ,EAAE;oBAC7C,SAAS,EAAE,mBAAmB,CAAC,QAAQ,EAAE;iBAC1C;aACF;YACD,iFAAiF;YACjF,kDAAkD;YAClD,aAAa,EAAE,EAAE,EACjB,IAAI,EAAE,IAAA,0BAAkB,GAAE,EAC1B,+BAA+B,EAAE,CAAC,GACnC;QACD,SAAS,EAAE,IAAI;KAChB,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAxDW,QAAA,mCAAmC,uCAwD9C;AAEK,IAAM,6BAA6B,GAAG,UAC3C,mBAAqC;IAErC,IAAM,sBAAsB,GAA6B,EAAE,CAAC;IAE5D,4FAA4F;IAC5F,0EAA0E;IAC1E,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,SAAS,EAAE,UAAU;QACjE,IAAM,kBAAkB,GACtB,mBAAmB,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CACpD,UAAC,iBAAiB;YAChB,OAAA,iBAAiB,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;gBACjD,iBAAiB,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK;gBAC3C,iBAAiB,CAAC,oBAAoB;oBACpC,SAAS,CAAC,oBAAoB;QAHhC,CAGgC,CACnC,CAAC;QACJ,IAAI,kBAAkB,KAAK,CAAC,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;SACH;QACD,sBAAsB,CAAC,IAAI,CAAC;YAC1B,eAAe,EAAE;gBACf;oBACE,UAAU,EAAE,CAAC;oBACb,SAAS,EAAE,UAAU;iBACtB;aACF;YACD,uBAAuB,EAAE;gBACvB;oBACE,UAAU,EAAE,CAAC;oBACb,SAAS,EAAE,kBAAkB;iBAC9B;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAM,2BAA2B,GAA6B,EAAE,CAAC;IAEjE,4FAA4F;IAC5F,0EAA0E;IAC1E,mBAAmB,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAClD,UAAC,iBAAiB,EAAE,kBAAkB;QACpC,IAAI,CAAC,IAAA,qBAAc,EAAC,iBAAiB,CAAC,EAAE;YACtC,OAAO;SACR;QACD,0EAA0E;QAC1E,uDAAuD;QACvD,2BAA2B,CAAC,IAAI,CAAC;YAC/B,eAAe,EAAE;gBACf;oBACE,UAAU,EAAE,CAAC;oBACb,SAAS,EAAE,CAAC;iBACb;aACF;YACD,uBAAuB,EAAE;gBACvB;oBACE,UAAU,EAAE,CAAC;oBACb,SAAS,EAAE,kBAAkB;iBAC9B;aACF;SACF,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEF,8CAAW,sBAAsB,kBAAK,2BAA2B,UAAE;AACrE,CAAC,CAAC;AAlEW,QAAA,6BAA6B,iCAkExC"}
@@ -0,0 +1,11 @@
1
+ import { Seaport } from "../../seaport";
2
+ import type { TestERC721, TestERC20, TestERC1155, Seaport as SeaportContract } from "../../typechain";
3
+ declare type Fixture = {
4
+ seaportContract: SeaportContract;
5
+ seaport: Seaport;
6
+ testErc721: TestERC721;
7
+ testErc20: TestERC20;
8
+ testErc1155: TestERC1155;
9
+ };
10
+ export declare const describeWithFixture: (name: string, suiteCb: (fixture: Fixture) => unknown) => void;
11
+ export {};
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.describeWithFixture = void 0;
43
+ var hardhat_1 = require("hardhat");
44
+ var seaport_1 = require("../../seaport");
45
+ var chai_1 = __importDefault(require("chai"));
46
+ var chai_as_promised_1 = __importDefault(require("chai-as-promised"));
47
+ var sinon_chai_1 = __importDefault(require("sinon-chai"));
48
+ chai_1.default.use(chai_as_promised_1.default);
49
+ chai_1.default.use(sinon_chai_1.default);
50
+ var describeWithFixture = function (name, suiteCb) {
51
+ describe(name, function () {
52
+ var fixture = {};
53
+ beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
54
+ var SeaportFactory, ConduitControllerFactory, conduitController, seaportContract, seaport, TestERC721, testErc721, TestERC1155, testErc1155, TestERC20, testErc20;
55
+ return __generator(this, function (_a) {
56
+ switch (_a.label) {
57
+ case 0: return [4 /*yield*/, hardhat_1.ethers.getContractFactory("Seaport")];
58
+ case 1:
59
+ SeaportFactory = _a.sent();
60
+ return [4 /*yield*/, hardhat_1.ethers.getContractFactory("ConduitController")];
61
+ case 2:
62
+ ConduitControllerFactory = _a.sent();
63
+ return [4 /*yield*/, ConduitControllerFactory.deploy()];
64
+ case 3:
65
+ conduitController = _a.sent();
66
+ return [4 /*yield*/, SeaportFactory.deploy(conduitController.address)];
67
+ case 4:
68
+ seaportContract = _a.sent();
69
+ return [4 /*yield*/, seaportContract.deployed()];
70
+ case 5:
71
+ _a.sent();
72
+ seaport = new seaport_1.Seaport(hardhat_1.ethers.provider, {
73
+ overrides: {
74
+ contractAddress: seaportContract.address,
75
+ },
76
+ });
77
+ return [4 /*yield*/, hardhat_1.ethers.getContractFactory("TestERC721")];
78
+ case 6:
79
+ TestERC721 = _a.sent();
80
+ return [4 /*yield*/, TestERC721.deploy()];
81
+ case 7:
82
+ testErc721 = _a.sent();
83
+ return [4 /*yield*/, testErc721.deployed()];
84
+ case 8:
85
+ _a.sent();
86
+ return [4 /*yield*/, hardhat_1.ethers.getContractFactory("TestERC1155")];
87
+ case 9:
88
+ TestERC1155 = _a.sent();
89
+ return [4 /*yield*/, TestERC1155.deploy()];
90
+ case 10:
91
+ testErc1155 = _a.sent();
92
+ return [4 /*yield*/, testErc1155.deployed()];
93
+ case 11:
94
+ _a.sent();
95
+ return [4 /*yield*/, hardhat_1.ethers.getContractFactory("TestERC20")];
96
+ case 12:
97
+ TestERC20 = _a.sent();
98
+ return [4 /*yield*/, TestERC20.deploy()];
99
+ case 13:
100
+ testErc20 = _a.sent();
101
+ return [4 /*yield*/, testErc20.deployed()];
102
+ case 14:
103
+ _a.sent();
104
+ // In order for cb to get the correct fixture values we have
105
+ // to pass a reference to an object that you we mutate.
106
+ fixture.seaportContract = seaportContract;
107
+ fixture.seaport = seaport;
108
+ fixture.testErc721 = testErc721;
109
+ fixture.testErc1155 = testErc1155;
110
+ fixture.testErc20 = testErc20;
111
+ return [2 /*return*/];
112
+ }
113
+ });
114
+ }); });
115
+ suiteCb(fixture);
116
+ });
117
+ };
118
+ exports.describeWithFixture = describeWithFixture;
119
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/__tests__/utils/setup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAiC;AACjC,yCAAwC;AAOxC,8CAAwB;AACxB,sEAA8C;AAC9C,0DAAmC;AAEnC,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AACzB,cAAI,CAAC,GAAG,CAAC,oBAAS,CAAC,CAAC;AAUb,IAAM,mBAAmB,GAAG,UACjC,IAAY,EACZ,OAAsC;IAEtC,QAAQ,CAAC,IAAI,EAAE;QACb,IAAM,OAAO,GAAqB,EAAE,CAAC;QAErC,UAAU,CAAC;;;;4BACc,qBAAM,gBAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAA;;wBAA3D,cAAc,GAAG,SAA0C;wBAEhC,qBAAM,gBAAM,CAAC,kBAAkB,CAC9D,mBAAmB,CACpB,EAAA;;wBAFK,wBAAwB,GAAG,SAEhC;wBAEyB,qBAAM,wBAAwB,CAAC,MAAM,EAAE,EAAA;;wBAA3D,iBAAiB,GAAG,SAAuC;wBAEzC,qBAAM,cAAc,CAAC,MAAM,CACjD,iBAAiB,CAAC,OAAO,CAC1B,EAAA;;wBAFK,eAAe,GAAG,SAEvB;wBAED,qBAAM,eAAe,CAAC,QAAQ,EAAE,EAAA;;wBAAhC,SAAgC,CAAC;wBAE3B,OAAO,GAAG,IAAI,iBAAO,CAAC,gBAAM,CAAC,QAAQ,EAAE;4BAC3C,SAAS,EAAE;gCACT,eAAe,EAAE,eAAe,CAAC,OAAO;6BACzC;yBACF,CAAC,CAAC;wBAEgB,qBAAM,gBAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAA;;wBAA1D,UAAU,GAAG,SAA6C;wBAC7C,qBAAM,UAAU,CAAC,MAAM,EAAE,EAAA;;wBAAtC,UAAU,GAAG,SAAyB;wBAC5C,qBAAM,UAAU,CAAC,QAAQ,EAAE,EAAA;;wBAA3B,SAA2B,CAAC;wBAER,qBAAM,gBAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAA;;wBAA5D,WAAW,GAAG,SAA8C;wBAC9C,qBAAM,WAAW,CAAC,MAAM,EAAE,EAAA;;wBAAxC,WAAW,GAAG,SAA0B;wBAC9C,qBAAM,WAAW,CAAC,QAAQ,EAAE,EAAA;;wBAA5B,SAA4B,CAAC;wBAEX,qBAAM,gBAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAA;;wBAAxD,SAAS,GAAG,SAA4C;wBAC5C,qBAAM,SAAS,CAAC,MAAM,EAAE,EAAA;;wBAApC,SAAS,GAAG,SAAwB;wBAC1C,qBAAM,SAAS,CAAC,QAAQ,EAAE,EAAA;;wBAA1B,SAA0B,CAAC;wBAE3B,4DAA4D;wBAC5D,uDAAuD;wBACvD,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;wBAC1C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;wBAC1B,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;wBAChC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;wBAClC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;;;;aAC/B,CAAC,CAAC;QAEH,OAAO,CAAC,OAAkB,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAnDW,QAAA,mBAAmB,uBAmD9B"}