@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,594 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (_) try {
41
+ 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;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ var __read = (this && this.__read) || function (o, n) {
62
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
63
+ if (!m) return o;
64
+ var i = m.call(o), r, ar = [], e;
65
+ try {
66
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
67
+ }
68
+ catch (error) { e = { error: error }; }
69
+ finally {
70
+ try {
71
+ if (r && !r.done && (m = i["return"])) m.call(i);
72
+ }
73
+ finally { if (e) throw e.error; }
74
+ }
75
+ return ar;
76
+ };
77
+ var __importDefault = (this && this.__importDefault) || function (mod) {
78
+ return (mod && mod.__esModule) ? mod : { "default": mod };
79
+ };
80
+ Object.defineProperty(exports, "__esModule", { value: true });
81
+ var multicall_1 = require("@0xsequence/multicall");
82
+ var chai_1 = require("chai");
83
+ var utils_1 = require("ethers/lib/utils");
84
+ var hardhat_1 = require("hardhat");
85
+ var sinon_1 = __importDefault(require("sinon"));
86
+ var constants_1 = require("../constants");
87
+ var fulfill = __importStar(require("../utils/fulfill"));
88
+ var balance_1 = require("./utils/balance");
89
+ var setup_1 = require("./utils/setup");
90
+ (0, setup_1.describeWithFixture)("As a user I want to swap any numbers of items", function (fixture) {
91
+ var offerer;
92
+ var zone;
93
+ var fulfiller;
94
+ var multicallProvider;
95
+ var fulfillStandardOrderSpy;
96
+ var secondTestErc721;
97
+ var secondTestErc1155;
98
+ var standardCreateOrderInput;
99
+ var nftId = "1";
100
+ var nftId2 = "2";
101
+ var erc1155Amount = "3";
102
+ beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
103
+ var TestERC721, TestERC1155;
104
+ var _a;
105
+ return __generator(this, function (_b) {
106
+ switch (_b.label) {
107
+ case 0: return [4 /*yield*/, hardhat_1.ethers.getSigners()];
108
+ case 1:
109
+ _a = __read.apply(void 0, [_b.sent(), 3]), offerer = _a[0], zone = _a[1], fulfiller = _a[2];
110
+ multicallProvider = new multicall_1.providers.MulticallProvider(hardhat_1.ethers.provider);
111
+ fulfillStandardOrderSpy = sinon_1.default.spy(fulfill, "fulfillStandardOrder");
112
+ return [4 /*yield*/, hardhat_1.ethers.getContractFactory("TestERC721")];
113
+ case 2:
114
+ TestERC721 = _b.sent();
115
+ return [4 /*yield*/, TestERC721.deploy()];
116
+ case 3:
117
+ secondTestErc721 = _b.sent();
118
+ return [4 /*yield*/, secondTestErc721.deployed()];
119
+ case 4:
120
+ _b.sent();
121
+ return [4 /*yield*/, hardhat_1.ethers.getContractFactory("TestERC1155")];
122
+ case 5:
123
+ TestERC1155 = _b.sent();
124
+ return [4 /*yield*/, TestERC1155.deploy()];
125
+ case 6:
126
+ secondTestErc1155 = _b.sent();
127
+ return [4 /*yield*/, secondTestErc1155.deployed()];
128
+ case 7:
129
+ _b.sent();
130
+ return [2 /*return*/];
131
+ }
132
+ });
133
+ }); });
134
+ afterEach(function () {
135
+ fulfillStandardOrderSpy.restore();
136
+ });
137
+ describe("Swapping ERC721s for ERC721s", function () { return __awaiter(void 0, void 0, void 0, function () {
138
+ return __generator(this, function (_a) {
139
+ beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
140
+ var testErc721;
141
+ return __generator(this, function (_a) {
142
+ switch (_a.label) {
143
+ case 0:
144
+ testErc721 = fixture.testErc721;
145
+ // Mint 2 NFTs to offerer
146
+ return [4 /*yield*/, testErc721.mint(offerer.address, nftId)];
147
+ case 1:
148
+ // Mint 2 NFTs to offerer
149
+ _a.sent();
150
+ return [4 /*yield*/, testErc721.mint(offerer.address, nftId2)];
151
+ case 2:
152
+ _a.sent();
153
+ // Mint 1 NFT to fulfiller
154
+ return [4 /*yield*/, secondTestErc721.mint(fulfiller.address, nftId)];
155
+ case 3:
156
+ // Mint 1 NFT to fulfiller
157
+ _a.sent();
158
+ standardCreateOrderInput = {
159
+ offer: [
160
+ {
161
+ itemType: constants_1.ItemType.ERC721,
162
+ token: testErc721.address,
163
+ identifier: nftId,
164
+ },
165
+ {
166
+ itemType: constants_1.ItemType.ERC721,
167
+ token: testErc721.address,
168
+ identifier: nftId2,
169
+ },
170
+ ],
171
+ consideration: [
172
+ {
173
+ itemType: constants_1.ItemType.ERC721,
174
+ token: secondTestErc721.address,
175
+ identifier: nftId,
176
+ },
177
+ ],
178
+ // 2.5% fee
179
+ fees: [{ recipient: zone.address, basisPoints: 250 }],
180
+ };
181
+ return [2 /*return*/];
182
+ }
183
+ });
184
+ }); });
185
+ it("2 ERC721s <=> ERC721", function () { return __awaiter(void 0, void 0, void 0, function () {
186
+ var seaport, testErc721, createActions, createApprovalAction, createOrderAction, order, ownerToTokenToIdentifierBalances, actions, approvalAction, _a, fulfillAction, transaction, receipt, _b, fulfillerOwned, fulfillerOwned2, offererOwned;
187
+ return __generator(this, function (_c) {
188
+ switch (_c.label) {
189
+ case 0:
190
+ seaport = fixture.seaport, testErc721 = fixture.testErc721;
191
+ return [4 /*yield*/, seaport.createOrder(standardCreateOrderInput)];
192
+ case 1:
193
+ createActions = (_c.sent()).actions;
194
+ (0, chai_1.expect)(createActions.length).to.eq(2);
195
+ createApprovalAction = createActions[0];
196
+ (0, chai_1.expect)(createApprovalAction).to.deep.equal({
197
+ type: "approval",
198
+ token: testErc721.address,
199
+ identifierOrCriteria: nftId2,
200
+ itemType: constants_1.ItemType.ERC721,
201
+ transactionMethods: createApprovalAction.transactionMethods,
202
+ operator: seaport.contract.address,
203
+ });
204
+ return [4 /*yield*/, createApprovalAction.transactionMethods.transact()];
205
+ case 2:
206
+ _c.sent();
207
+ createOrderAction = createActions[1];
208
+ return [4 /*yield*/, createOrderAction.createOrder()];
209
+ case 3:
210
+ order = _c.sent();
211
+ return [4 /*yield*/, (0, balance_1.getBalancesForFulfillOrder)(order, fulfiller.address, multicallProvider)];
212
+ case 4:
213
+ ownerToTokenToIdentifierBalances = _c.sent();
214
+ return [4 /*yield*/, seaport.fulfillOrder({
215
+ order: order,
216
+ accountAddress: fulfiller.address,
217
+ })];
218
+ case 5:
219
+ actions = (_c.sent()).actions;
220
+ (0, chai_1.expect)(actions.length).to.eq(2);
221
+ approvalAction = actions[0];
222
+ (0, chai_1.expect)(approvalAction).to.deep.equal({
223
+ type: "approval",
224
+ token: secondTestErc721.address,
225
+ identifierOrCriteria: nftId,
226
+ itemType: constants_1.ItemType.ERC721,
227
+ transactionMethods: approvalAction.transactionMethods,
228
+ operator: seaport.contract.address,
229
+ });
230
+ return [4 /*yield*/, approvalAction.transactionMethods.transact()];
231
+ case 6:
232
+ _c.sent();
233
+ _a = chai_1.expect;
234
+ return [4 /*yield*/, secondTestErc721.isApprovedForAll(fulfiller.address, seaport.contract.address)];
235
+ case 7:
236
+ _a.apply(void 0, [_c.sent()]).to.be.true;
237
+ fulfillAction = actions[1];
238
+ (0, chai_1.expect)(fulfillAction).to.deep.equal({
239
+ type: "exchange",
240
+ transactionMethods: fulfillAction.transactionMethods,
241
+ });
242
+ return [4 /*yield*/, fulfillAction.transactionMethods.transact()];
243
+ case 8:
244
+ transaction = _c.sent();
245
+ return [4 /*yield*/, transaction.wait()];
246
+ case 9:
247
+ receipt = _c.sent();
248
+ return [4 /*yield*/, (0, balance_1.verifyBalancesAfterFulfill)({
249
+ ownerToTokenToIdentifierBalances: ownerToTokenToIdentifierBalances,
250
+ order: order,
251
+ fulfillerAddress: fulfiller.address,
252
+ multicallProvider: multicallProvider,
253
+ fulfillReceipt: receipt,
254
+ })];
255
+ case 10:
256
+ _c.sent();
257
+ return [4 /*yield*/, Promise.all([
258
+ testErc721.ownerOf(nftId),
259
+ testErc721.ownerOf(nftId2),
260
+ secondTestErc721.ownerOf(nftId),
261
+ ])];
262
+ case 11:
263
+ _b = __read.apply(void 0, [_c.sent(), 3]), fulfillerOwned = _b[0], fulfillerOwned2 = _b[1], offererOwned = _b[2];
264
+ (0, chai_1.expect)([fulfillerOwned, fulfillerOwned2].every(function (owner) { return owner === fulfiller.address; })).to.be.true;
265
+ (0, chai_1.expect)(offererOwned).to.eq(offerer.address);
266
+ (0, chai_1.expect)(fulfillStandardOrderSpy).calledOnce;
267
+ return [2 /*return*/];
268
+ }
269
+ });
270
+ }); });
271
+ return [2 /*return*/];
272
+ });
273
+ }); });
274
+ describe("Swapping ERC1155s for ERC1155s", function () { return __awaiter(void 0, void 0, void 0, function () {
275
+ return __generator(this, function (_a) {
276
+ beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
277
+ var testErc1155;
278
+ return __generator(this, function (_a) {
279
+ switch (_a.label) {
280
+ case 0:
281
+ testErc1155 = fixture.testErc1155;
282
+ // Mint 2 NFTs to offerer
283
+ return [4 /*yield*/, testErc1155.mint(offerer.address, nftId, erc1155Amount)];
284
+ case 1:
285
+ // Mint 2 NFTs to offerer
286
+ _a.sent();
287
+ return [4 /*yield*/, testErc1155.mint(offerer.address, nftId2, erc1155Amount)];
288
+ case 2:
289
+ _a.sent();
290
+ // Mint 1 NFT to fulfiller
291
+ return [4 /*yield*/, secondTestErc1155.mint(fulfiller.address, nftId, erc1155Amount)];
292
+ case 3:
293
+ // Mint 1 NFT to fulfiller
294
+ _a.sent();
295
+ standardCreateOrderInput = {
296
+ offer: [
297
+ {
298
+ itemType: constants_1.ItemType.ERC1155,
299
+ token: testErc1155.address,
300
+ identifier: nftId,
301
+ amount: erc1155Amount,
302
+ },
303
+ {
304
+ itemType: constants_1.ItemType.ERC1155,
305
+ token: testErc1155.address,
306
+ identifier: nftId2,
307
+ amount: erc1155Amount,
308
+ },
309
+ ],
310
+ consideration: [
311
+ {
312
+ itemType: constants_1.ItemType.ERC1155,
313
+ token: secondTestErc1155.address,
314
+ identifier: nftId,
315
+ amount: erc1155Amount,
316
+ },
317
+ ],
318
+ // 2.5% fee
319
+ fees: [{ recipient: zone.address, basisPoints: 250 }],
320
+ };
321
+ return [2 /*return*/];
322
+ }
323
+ });
324
+ }); });
325
+ it("2 ERC1155s <=> ERC1155", function () { return __awaiter(void 0, void 0, void 0, function () {
326
+ var seaport, testErc1155, createActions, createApprovalAction, createOrderAction, order, ownerToTokenToIdentifierBalances, actions, approvalAction, _a, fulfillAction, transaction, receipt, _b, fulfillerOwnedAmount, fulfillerOwnedAmount2, offererOwnedAmount;
327
+ return __generator(this, function (_c) {
328
+ switch (_c.label) {
329
+ case 0:
330
+ seaport = fixture.seaport, testErc1155 = fixture.testErc1155;
331
+ return [4 /*yield*/, seaport.createOrder(standardCreateOrderInput)];
332
+ case 1:
333
+ createActions = (_c.sent()).actions;
334
+ (0, chai_1.expect)(createActions.length).to.eq(2);
335
+ createApprovalAction = createActions[0];
336
+ (0, chai_1.expect)(createApprovalAction).to.deep.equal({
337
+ type: "approval",
338
+ token: testErc1155.address,
339
+ identifierOrCriteria: nftId2,
340
+ itemType: constants_1.ItemType.ERC1155,
341
+ transactionMethods: createApprovalAction.transactionMethods,
342
+ operator: seaport.contract.address,
343
+ });
344
+ return [4 /*yield*/, createApprovalAction.transactionMethods.transact()];
345
+ case 2:
346
+ _c.sent();
347
+ createOrderAction = createActions[1];
348
+ return [4 /*yield*/, createOrderAction.createOrder()];
349
+ case 3:
350
+ order = _c.sent();
351
+ return [4 /*yield*/, (0, balance_1.getBalancesForFulfillOrder)(order, fulfiller.address, multicallProvider)];
352
+ case 4:
353
+ ownerToTokenToIdentifierBalances = _c.sent();
354
+ return [4 /*yield*/, seaport.fulfillOrder({
355
+ order: order,
356
+ accountAddress: fulfiller.address,
357
+ })];
358
+ case 5:
359
+ actions = (_c.sent()).actions;
360
+ (0, chai_1.expect)(actions.length).to.eq(2);
361
+ approvalAction = actions[0];
362
+ (0, chai_1.expect)(approvalAction).to.deep.equal({
363
+ type: "approval",
364
+ token: secondTestErc1155.address,
365
+ identifierOrCriteria: nftId,
366
+ itemType: constants_1.ItemType.ERC1155,
367
+ transactionMethods: approvalAction.transactionMethods,
368
+ operator: seaport.contract.address,
369
+ });
370
+ return [4 /*yield*/, approvalAction.transactionMethods.transact()];
371
+ case 6:
372
+ _c.sent();
373
+ _a = chai_1.expect;
374
+ return [4 /*yield*/, secondTestErc1155.isApprovedForAll(fulfiller.address, seaport.contract.address)];
375
+ case 7:
376
+ _a.apply(void 0, [_c.sent()]).to.be.true;
377
+ fulfillAction = actions[1];
378
+ (0, chai_1.expect)(fulfillAction).to.deep.equal({
379
+ type: "exchange",
380
+ transactionMethods: fulfillAction.transactionMethods,
381
+ });
382
+ return [4 /*yield*/, fulfillAction.transactionMethods.transact()];
383
+ case 8:
384
+ transaction = _c.sent();
385
+ return [4 /*yield*/, transaction.wait()];
386
+ case 9:
387
+ receipt = _c.sent();
388
+ return [4 /*yield*/, (0, balance_1.verifyBalancesAfterFulfill)({
389
+ ownerToTokenToIdentifierBalances: ownerToTokenToIdentifierBalances,
390
+ order: order,
391
+ fulfillerAddress: fulfiller.address,
392
+ multicallProvider: multicallProvider,
393
+ fulfillReceipt: receipt,
394
+ })];
395
+ case 10:
396
+ _c.sent();
397
+ return [4 /*yield*/, Promise.all([
398
+ testErc1155.balanceOf(fulfiller.address, nftId),
399
+ testErc1155.balanceOf(fulfiller.address, nftId2),
400
+ secondTestErc1155.balanceOf(offerer.address, nftId),
401
+ ])];
402
+ case 11:
403
+ _b = __read.apply(void 0, [_c.sent(), 3]), fulfillerOwnedAmount = _b[0], fulfillerOwnedAmount2 = _b[1], offererOwnedAmount = _b[2];
404
+ (0, chai_1.expect)([fulfillerOwnedAmount, fulfillerOwnedAmount2].every(function (balance) {
405
+ return balance.eq(erc1155Amount);
406
+ })).to.be.true;
407
+ (0, chai_1.expect)(offererOwnedAmount).to.eq(erc1155Amount);
408
+ (0, chai_1.expect)(fulfillStandardOrderSpy).calledOnce;
409
+ return [2 /*return*/];
410
+ }
411
+ });
412
+ }); });
413
+ return [2 /*return*/];
414
+ });
415
+ }); });
416
+ describe("Swapping ERC721 + WETH for ERC721 + WETH", function () { return __awaiter(void 0, void 0, void 0, function () {
417
+ return __generator(this, function (_a) {
418
+ beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
419
+ var testErc721, testErc20;
420
+ return __generator(this, function (_a) {
421
+ switch (_a.label) {
422
+ case 0:
423
+ testErc721 = fixture.testErc721, testErc20 = fixture.testErc20;
424
+ // Mint 1 NFTs to offerer
425
+ return [4 /*yield*/, testErc721.mint(offerer.address, nftId)];
426
+ case 1:
427
+ // Mint 1 NFTs to offerer
428
+ _a.sent();
429
+ return [4 /*yield*/, testErc20.mint(offerer.address, (0, utils_1.parseEther)("10").toString())];
430
+ case 2:
431
+ _a.sent();
432
+ // Mint 1 NFT to fulfiller
433
+ return [4 /*yield*/, testErc721.mint(fulfiller.address, nftId2)];
434
+ case 3:
435
+ // Mint 1 NFT to fulfiller
436
+ _a.sent();
437
+ return [4 /*yield*/, testErc20.mint(fulfiller.address, (0, utils_1.parseEther)("5").toString())];
438
+ case 4:
439
+ _a.sent();
440
+ standardCreateOrderInput = {
441
+ offer: [
442
+ {
443
+ itemType: constants_1.ItemType.ERC721,
444
+ token: testErc721.address,
445
+ identifier: nftId,
446
+ },
447
+ {
448
+ token: testErc20.address,
449
+ amount: (0, utils_1.parseEther)("10").toString(),
450
+ },
451
+ ],
452
+ consideration: [
453
+ {
454
+ itemType: constants_1.ItemType.ERC721,
455
+ token: testErc721.address,
456
+ identifier: nftId2,
457
+ },
458
+ {
459
+ token: testErc20.address,
460
+ amount: (0, utils_1.parseEther)("5").toString(),
461
+ },
462
+ ],
463
+ // 2.5% fee
464
+ fees: [{ recipient: zone.address, basisPoints: 250 }],
465
+ };
466
+ return [2 /*return*/];
467
+ }
468
+ });
469
+ }); });
470
+ it("ERC721 + WETH <=> ERC721 + WETH", function () { return __awaiter(void 0, void 0, void 0, function () {
471
+ var seaport, testErc20, testErc721, createActions, createApprovalAction, createErc20ApprovalAction, createOrderAction, order, ownerToTokenToIdentifierBalances, actions, approvalAction, _a, secondApprovalAction, _b, fulfillAction, transaction, receipt, _c, fulfillerOwned, fulfillerOwnedErc20Amount, offererOwned, offererOwnedErc20Amount, zoneOwnedErc20Amount;
472
+ return __generator(this, function (_d) {
473
+ switch (_d.label) {
474
+ case 0:
475
+ seaport = fixture.seaport, testErc20 = fixture.testErc20, testErc721 = fixture.testErc721;
476
+ return [4 /*yield*/, seaport.createOrder(standardCreateOrderInput)];
477
+ case 1:
478
+ createActions = (_d.sent()).actions;
479
+ (0, chai_1.expect)(createActions.length).to.eq(3);
480
+ createApprovalAction = createActions[0];
481
+ (0, chai_1.expect)(createApprovalAction).to.deep.equal({
482
+ type: "approval",
483
+ token: testErc721.address,
484
+ identifierOrCriteria: nftId,
485
+ itemType: constants_1.ItemType.ERC721,
486
+ transactionMethods: createApprovalAction.transactionMethods,
487
+ operator: seaport.contract.address,
488
+ });
489
+ return [4 /*yield*/, createApprovalAction.transactionMethods.transact()];
490
+ case 2:
491
+ _d.sent();
492
+ createErc20ApprovalAction = createActions[1];
493
+ (0, chai_1.expect)(createErc20ApprovalAction).to.deep.equal({
494
+ type: "approval",
495
+ token: testErc20.address,
496
+ identifierOrCriteria: "0",
497
+ itemType: constants_1.ItemType.ERC20,
498
+ transactionMethods: createErc20ApprovalAction.transactionMethods,
499
+ operator: seaport.contract.address,
500
+ });
501
+ return [4 /*yield*/, createErc20ApprovalAction.transactionMethods.transact()];
502
+ case 3:
503
+ _d.sent();
504
+ createOrderAction = createActions[2];
505
+ return [4 /*yield*/, createOrderAction.createOrder()];
506
+ case 4:
507
+ order = _d.sent();
508
+ return [4 /*yield*/, (0, balance_1.getBalancesForFulfillOrder)(order, fulfiller.address, multicallProvider)];
509
+ case 5:
510
+ ownerToTokenToIdentifierBalances = _d.sent();
511
+ return [4 /*yield*/, seaport.fulfillOrder({
512
+ order: order,
513
+ accountAddress: fulfiller.address,
514
+ })];
515
+ case 6:
516
+ actions = (_d.sent()).actions;
517
+ (0, chai_1.expect)(actions.length).to.eq(3);
518
+ approvalAction = actions[0];
519
+ (0, chai_1.expect)(approvalAction).to.deep.equal({
520
+ type: "approval",
521
+ token: testErc721.address,
522
+ identifierOrCriteria: nftId2,
523
+ itemType: constants_1.ItemType.ERC721,
524
+ transactionMethods: approvalAction.transactionMethods,
525
+ operator: seaport.contract.address,
526
+ });
527
+ return [4 /*yield*/, approvalAction.transactionMethods.transact()];
528
+ case 7:
529
+ _d.sent();
530
+ _a = chai_1.expect;
531
+ return [4 /*yield*/, testErc721.isApprovedForAll(fulfiller.address, seaport.contract.address)];
532
+ case 8:
533
+ _a.apply(void 0, [_d.sent()]).to.be.true;
534
+ secondApprovalAction = actions[1];
535
+ (0, chai_1.expect)(secondApprovalAction).to.deep.equal({
536
+ type: "approval",
537
+ token: testErc20.address,
538
+ identifierOrCriteria: "0",
539
+ itemType: constants_1.ItemType.ERC20,
540
+ transactionMethods: secondApprovalAction.transactionMethods,
541
+ operator: seaport.contract.address,
542
+ });
543
+ return [4 /*yield*/, secondApprovalAction.transactionMethods.transact()];
544
+ case 9:
545
+ _d.sent();
546
+ _b = chai_1.expect;
547
+ return [4 /*yield*/, testErc20.allowance(fulfiller.address, seaport.contract.address)];
548
+ case 10:
549
+ _b.apply(void 0, [_d.sent()]).to.eq(constants_1.MAX_INT);
550
+ fulfillAction = actions[2];
551
+ (0, chai_1.expect)(fulfillAction).to.deep.equal({
552
+ type: "exchange",
553
+ transactionMethods: fulfillAction.transactionMethods,
554
+ });
555
+ return [4 /*yield*/, fulfillAction.transactionMethods.transact()];
556
+ case 11:
557
+ transaction = _d.sent();
558
+ return [4 /*yield*/, transaction.wait()];
559
+ case 12:
560
+ receipt = _d.sent();
561
+ return [4 /*yield*/, (0, balance_1.verifyBalancesAfterFulfill)({
562
+ ownerToTokenToIdentifierBalances: ownerToTokenToIdentifierBalances,
563
+ order: order,
564
+ fulfillerAddress: fulfiller.address,
565
+ multicallProvider: multicallProvider,
566
+ fulfillReceipt: receipt,
567
+ })];
568
+ case 13:
569
+ _d.sent();
570
+ return [4 /*yield*/, Promise.all([
571
+ testErc721.ownerOf(nftId),
572
+ testErc20.balanceOf(fulfiller.address),
573
+ testErc721.ownerOf(nftId2),
574
+ testErc20.balanceOf(offerer.address),
575
+ testErc20.balanceOf(zone.address),
576
+ ])];
577
+ case 14:
578
+ _c = __read.apply(void 0, [_d.sent(), 5]), fulfillerOwned = _c[0], fulfillerOwnedErc20Amount = _c[1], offererOwned = _c[2], offererOwnedErc20Amount = _c[3], zoneOwnedErc20Amount = _c[4];
579
+ (0, chai_1.expect)(fulfillerOwned).to.eq(fulfiller.address);
580
+ // 2.5% fees were subtracted
581
+ (0, chai_1.expect)(fulfillerOwnedErc20Amount).to.eq((0, utils_1.parseEther)("9.75"));
582
+ (0, chai_1.expect)(offererOwned).to.eq(offerer.address);
583
+ (0, chai_1.expect)(offererOwnedErc20Amount).to.eq((0, utils_1.parseEther)("4.875"));
584
+ (0, chai_1.expect)(zoneOwnedErc20Amount).to.eq((0, utils_1.parseEther)(".375"));
585
+ (0, chai_1.expect)(fulfillStandardOrderSpy).calledOnce;
586
+ return [2 /*return*/];
587
+ }
588
+ });
589
+ }); });
590
+ return [2 /*return*/];
591
+ });
592
+ }); });
593
+ });
594
+ //# sourceMappingURL=swap.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap.spec.js","sourceRoot":"","sources":["../../src/__tests__/swap.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { BigNumber, BigNumberish, ContractReceipt, providers } from "ethers";
2
+ import { Item, Order, OrderStatus } from "../../types";
3
+ import { TimeBasedItemParams } from "../../utils/item";
4
+ import { providers as multicallProviders } from "@0xsequence/multicall";
5
+ export declare const setBalance: (address: string, provider: providers.JsonRpcProvider, amountEth?: string) => Promise<void>;
6
+ export declare const getBalancesForFulfillOrder: (order: Order, fulfillerAddress: string, multicallProvider: multicallProviders.MulticallProvider) => Promise<Record<string, Record<string, Record<string, {
7
+ balance: BigNumber;
8
+ item: Item;
9
+ }>>>>;
10
+ export declare const verifyBalancesAfterFulfill: ({ ownerToTokenToIdentifierBalances, order, unitsToFill, orderStatus, fulfillReceipt, fulfillerAddress, multicallProvider, timeBasedItemParams, }: {
11
+ ownerToTokenToIdentifierBalances: Record<string, Record<string, Record<string, {
12
+ balance: BigNumber;
13
+ item: Item;
14
+ }>>>;
15
+ order: Order;
16
+ orderStatus?: OrderStatus | undefined;
17
+ unitsToFill?: BigNumberish | undefined;
18
+ fulfillReceipt: ContractReceipt;
19
+ fulfillerAddress: string;
20
+ multicallProvider: multicallProviders.MulticallProvider;
21
+ timeBasedItemParams?: TimeBasedItemParams | undefined;
22
+ }) => Promise<void>;