@opensea/seaport-js 2.0.3 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/lib/bundle.js +34 -12
- package/lib/constants.js +4 -4
- package/lib/constants.js.map +1 -1
- package/lib/seaport.js +3 -3
- package/lib/seaport.js.map +1 -1
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver__factory.js +1 -1
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver__factory.js.map +1 -1
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155__factory.js +1 -1
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155__factory.js.map +1 -1
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC20__factory.js +1 -1
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC20__factory.js.map +1 -1
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver__factory.js +1 -1
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver__factory.js.map +1 -1
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721__factory.js +1 -1
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721__factory.js.map +1 -1
- package/lib/typechain-types/factories/domain-registry/contracts/DomainRegistry__factory.js +1 -1
- package/lib/typechain-types/factories/domain-registry/contracts/DomainRegistry__factory.js.map +1 -1
- package/lib/typechain-types/factories/domain-registry/contracts/interfaces/DomainRegistryInterface__factory.js +1 -1
- package/lib/typechain-types/factories/domain-registry/contracts/interfaces/DomainRegistryInterface__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/conduit/ConduitController__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/conduit/ConduitController__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/conduit/Conduit__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/conduit/Conduit__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/AmountDeriver__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/AmountDeriver__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/Assertions__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/Assertions__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/BasicOrderFulfiller__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/BasicOrderFulfiller__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/ConsiderationBase__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/ConsiderationBase__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/Consideration__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/Consideration__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/CounterManager__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/CounterManager__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/CriteriaResolution__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/CriteriaResolution__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/Executor__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/Executor__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/FulfillmentApplier__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/FulfillmentApplier__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/GettersAndDerivers__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/GettersAndDerivers__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderCombiner__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderCombiner__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderFulfiller__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderFulfiller__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderValidator__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderValidator__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/ReentrancyGuard__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/ReentrancyGuard__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/SignatureVerification__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/SignatureVerification__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/TokenTransferrer__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/TokenTransferrer__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/Verifiers__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/Verifiers__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/ZoneInteraction__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-core/src/lib/ZoneInteraction__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/AmountDerivationErrors__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/AmountDerivationErrors__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConduitControllerInterface__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConduitControllerInterface__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConduitInterface__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConduitInterface__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConsiderationEventsAndErrors__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConsiderationEventsAndErrors__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConsiderationInterface__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConsiderationInterface__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/CriteriaResolutionErrors__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/CriteriaResolutionErrors__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/FulfillmentApplicationErrors__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/FulfillmentApplicationErrors__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ReentrancyErrors__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ReentrancyErrors__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/SignatureVerificationErrors__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/SignatureVerificationErrors__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/TokenTransferrerErrors__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/TokenTransferrerErrors__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ZoneInteractionErrors__factory.js +1 -1
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ZoneInteractionErrors__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport_v1_4/contracts/Seaport__factory.js +1 -1
- package/lib/typechain-types/factories/seaport_v1_4/contracts/Seaport__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit__factory.js +1 -1
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController__factory.js +1 -1
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController__factory.js.map +1 -1
- package/lib/typechain-types/factories/seaport_v1_5/contracts/Seaport__factory.js +1 -1
- package/lib/typechain-types/factories/seaport_v1_5/contracts/Seaport__factory.js.map +1 -1
- package/lib/typechain-types/factories/src/contracts/test/TestERC1155__factory.js +1 -1
- package/lib/typechain-types/factories/src/contracts/test/TestERC1155__factory.js.map +1 -1
- package/lib/typechain-types/factories/src/contracts/test/TestERC1271Wallet.sol/IERC20Approve__factory.d.ts +26 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC1271Wallet.sol/IERC20Approve__factory.js +44 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC1271Wallet.sol/IERC20Approve__factory.js.map +1 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC1271Wallet.sol/TestERC1271Wallet__factory.d.ts +96 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC1271Wallet.sol/TestERC1271Wallet__factory.js +142 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC1271Wallet.sol/TestERC1271Wallet__factory.js.map +1 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC1271Wallet.sol/index.d.ts +2 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC1271Wallet.sol/index.js +11 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC1271Wallet.sol/index.js.map +1 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC20USDC__factory.js +1 -1
- package/lib/typechain-types/factories/src/contracts/test/TestERC20USDC__factory.js.map +1 -1
- package/lib/typechain-types/factories/src/contracts/test/TestERC20__factory.js +1 -1
- package/lib/typechain-types/factories/src/contracts/test/TestERC20__factory.js.map +1 -1
- package/lib/typechain-types/factories/src/contracts/test/TestERC721__factory.js +1 -1
- package/lib/typechain-types/factories/src/contracts/test/TestERC721__factory.js.map +1 -1
- package/lib/typechain-types/factories/src/contracts/test/index.d.ts +1 -0
- package/lib/typechain-types/factories/src/contracts/test/index.js +2 -1
- package/lib/typechain-types/factories/src/contracts/test/index.js.map +1 -1
- package/lib/typechain-types/index.d.ts +4 -0
- package/lib/typechain-types/index.js +5 -1
- package/lib/typechain-types/index.js.map +1 -1
- package/lib/typechain-types/src/contracts/test/TestERC1271Wallet.sol/IERC20Approve.d.ts +50 -0
- package/lib/typechain-types/src/contracts/test/TestERC1271Wallet.sol/IERC20Approve.js +3 -0
- package/lib/typechain-types/src/contracts/test/TestERC1271Wallet.sol/IERC20Approve.js.map +1 -0
- package/lib/typechain-types/src/contracts/test/TestERC1271Wallet.sol/TestERC1271Wallet.d.ts +82 -0
- package/lib/typechain-types/src/contracts/test/TestERC1271Wallet.sol/TestERC1271Wallet.js +3 -0
- package/lib/typechain-types/src/contracts/test/TestERC1271Wallet.sol/TestERC1271Wallet.js.map +1 -0
- package/lib/typechain-types/src/contracts/test/TestERC1271Wallet.sol/index.d.ts +2 -0
- package/lib/typechain-types/src/contracts/test/TestERC1271Wallet.sol/index.js +3 -0
- package/lib/typechain-types/src/contracts/test/TestERC1271Wallet.sol/index.js.map +1 -0
- package/lib/typechain-types/src/contracts/test/index.d.ts +2 -0
- package/lib/types.d.ts +1 -0
- package/lib/utils/criteria.js.map +1 -1
- package/package.json +4 -4
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155.dbg.json +1 -1
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver.dbg.json +1 -1
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC20.sol/ERC20.dbg.json +1 -1
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721.dbg.json +1 -1
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver.dbg.json +1 -1
- package/src/artifacts/build-info/{9bdb09ed3cce3558b76665325e604aed.json → d74aedd79bfea1f175b8b4ef785e53de.json} +1 -1
- package/src/artifacts/domain-registry/contracts/DomainRegistry.sol/DomainRegistry.dbg.json +1 -1
- package/src/artifacts/domain-registry/contracts/interfaces/DomainRegistryInterface.sol/DomainRegistryInterface.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/conduit/Conduit.sol/Conduit.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/conduit/ConduitController.sol/ConduitController.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/AmountDeriver.sol/AmountDeriver.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/Assertions.sol/Assertions.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/BasicOrderFulfiller.sol/BasicOrderFulfiller.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/Consideration.sol/Consideration.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/ConsiderationBase.sol/ConsiderationBase.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/ConsiderationDecoder.sol/ConsiderationDecoder.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/ConsiderationEncoder.sol/ConsiderationEncoder.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/CounterManager.sol/CounterManager.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/CriteriaResolution.sol/CriteriaResolution.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/Executor.sol/Executor.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/FulfillmentApplier.sol/FulfillmentApplier.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/GettersAndDerivers.sol/GettersAndDerivers.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/LowLevelHelpers.sol/LowLevelHelpers.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/OrderCombiner.sol/OrderCombiner.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/OrderFulfiller.sol/OrderFulfiller.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/OrderValidator.sol/OrderValidator.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/SignatureVerification.sol/SignatureVerification.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/TokenTransferrer.sol/TokenTransferrer.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/Verifiers.sol/Verifiers.dbg.json +1 -1
- package/src/artifacts/seaport-core/src/lib/ZoneInteraction.sol/ZoneInteraction.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/CalldataPointerLib.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/CalldataReaders.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/MemoryPointerLib.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/MemoryReaders.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/MemoryWriters.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/ReturndataPointerLib.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/ReturndataReaders.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/interfaces/AmountDerivationErrors.sol/AmountDerivationErrors.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/interfaces/ConduitControllerInterface.sol/ConduitControllerInterface.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/interfaces/ConduitInterface.sol/ConduitInterface.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/interfaces/ConsiderationEventsAndErrors.sol/ConsiderationEventsAndErrors.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/interfaces/ConsiderationInterface.sol/ConsiderationInterface.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/interfaces/CriteriaResolutionErrors.sol/CriteriaResolutionErrors.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/interfaces/FulfillmentApplicationErrors.sol/FulfillmentApplicationErrors.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/interfaces/ReentrancyErrors.sol/ReentrancyErrors.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/interfaces/SignatureVerificationErrors.sol/SignatureVerificationErrors.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/interfaces/TokenTransferrerErrors.sol/TokenTransferrerErrors.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/interfaces/ZoneInteractionErrors.sol/ZoneInteractionErrors.dbg.json +1 -1
- package/src/artifacts/seaport-types/src/lib/ConsiderationStructs.sol/StructPointers.dbg.json +1 -1
- package/src/artifacts/seaport_v1_4/contracts/Seaport.sol/Seaport.dbg.json +1 -1
- package/src/artifacts/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit.dbg.json +1 -1
- package/src/artifacts/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController.dbg.json +1 -1
- package/src/artifacts/seaport_v1_5/contracts/Seaport.sol/Seaport.dbg.json +1 -1
- package/src/artifacts/src/contracts/test/TestERC1155.sol/TestERC1155.dbg.json +1 -1
- package/src/artifacts/src/contracts/test/TestERC1271Wallet.sol/IERC20Approve.dbg.json +4 -0
- package/src/artifacts/src/contracts/test/TestERC1271Wallet.sol/IERC20Approve.json +35 -0
- package/src/artifacts/src/contracts/test/TestERC1271Wallet.sol/TestERC1271Wallet.dbg.json +4 -0
- package/src/artifacts/src/contracts/test/TestERC1271Wallet.sol/TestERC1271Wallet.json +110 -0
- package/src/artifacts/src/contracts/test/TestERC20.sol/TestERC20.dbg.json +1 -1
- package/src/artifacts/src/contracts/test/TestERC20USDC.sol/TestERC20USDC.dbg.json +1 -1
- package/src/artifacts/src/contracts/test/TestERC721.sol/TestERC721.dbg.json +1 -1
- package/src/constants.ts +1 -1
- package/src/contracts/test/TestERC1271Wallet.sol +89 -0
- package/src/seaport.ts +58 -57
- package/src/typechain-types/factories/src/contracts/test/TestERC1271Wallet.sol/IERC20Approve__factory.ts +50 -0
- package/src/typechain-types/factories/src/contracts/test/TestERC1271Wallet.sol/TestERC1271Wallet__factory.ts +161 -0
- package/src/typechain-types/factories/src/contracts/test/TestERC1271Wallet.sol/index.ts +5 -0
- package/src/typechain-types/factories/src/contracts/test/index.ts +1 -0
- package/src/typechain-types/hardhat.d.ts +18 -0
- package/src/typechain-types/index.ts +4 -0
- package/src/typechain-types/src/contracts/test/TestERC1271Wallet.sol/IERC20Approve.ts +107 -0
- package/src/typechain-types/src/contracts/test/TestERC1271Wallet.sol/TestERC1271Wallet.ts +228 -0
- package/src/typechain-types/src/contracts/test/TestERC1271Wallet.sol/index.ts +5 -0
- package/src/typechain-types/src/contracts/test/index.ts +2 -0
- package/src/types.ts +13 -12
- package/src/utils/approval.ts +9 -9
- package/src/utils/balance.ts +7 -7
- package/src/utils/balanceAndApprovalCheck.ts +22 -22
- package/src/utils/criteria.ts +7 -7
- package/src/utils/eip712/Eip712MerkleTree.ts +2 -2
- package/src/utils/eip712/bulk-orders.ts +2 -2
- package/src/utils/eip712/defaults.ts +5 -5
- package/src/utils/eip712/utils.ts +1 -1
- package/src/utils/fulfill.ts +44 -44
- package/src/utils/item.ts +3 -3
- package/src/utils/merkletree.ts +2 -2
- package/src/utils/order.ts +15 -15
- package/src/utils/usecase.ts +8 -8
package/src/utils/approval.ts
CHANGED
|
@@ -13,24 +13,24 @@ export const approvedItemAmount = async (
|
|
|
13
13
|
owner: string,
|
|
14
14
|
item: Item,
|
|
15
15
|
operator: string,
|
|
16
|
-
multicallProvider: multicallProviders.MulticallProvider
|
|
16
|
+
multicallProvider: multicallProviders.MulticallProvider,
|
|
17
17
|
) => {
|
|
18
18
|
if (isErc721Item(item.itemType) || isErc1155Item(item.itemType)) {
|
|
19
19
|
// isApprovedForAll check is the same for both ERC721 and ERC1155, defaulting to ERC721
|
|
20
20
|
const contract = new Contract(
|
|
21
21
|
item.token,
|
|
22
22
|
ERC721ABI,
|
|
23
|
-
multicallProvider
|
|
23
|
+
multicallProvider,
|
|
24
24
|
) as TestERC721;
|
|
25
25
|
return contract.isApprovedForAll(owner, operator).then((isApprovedForAll) =>
|
|
26
26
|
// Setting to the max int to consolidate types and simplify
|
|
27
|
-
isApprovedForAll ? MAX_INT : BigNumber.from(0)
|
|
27
|
+
isApprovedForAll ? MAX_INT : BigNumber.from(0),
|
|
28
28
|
);
|
|
29
29
|
} else if (item.itemType === ItemType.ERC20) {
|
|
30
30
|
const contract = new Contract(
|
|
31
31
|
item.token,
|
|
32
32
|
ERC20ABI,
|
|
33
|
-
multicallProvider
|
|
33
|
+
multicallProvider,
|
|
34
34
|
) as TestERC20;
|
|
35
35
|
|
|
36
36
|
return contract.allowance(owner, operator);
|
|
@@ -46,13 +46,13 @@ export const approvedItemAmount = async (
|
|
|
46
46
|
export function getApprovalActions(
|
|
47
47
|
insufficientApprovals: InsufficientApprovals,
|
|
48
48
|
exactApproval: boolean,
|
|
49
|
-
signer: Signer
|
|
49
|
+
signer: Signer,
|
|
50
50
|
): ApprovalAction[] {
|
|
51
51
|
return insufficientApprovals
|
|
52
52
|
.filter(
|
|
53
53
|
(approval, index) =>
|
|
54
54
|
index === insufficientApprovals.length - 1 ||
|
|
55
|
-
insufficientApprovals[index + 1].token !== approval.token
|
|
55
|
+
insufficientApprovals[index + 1].token !== approval.token,
|
|
56
56
|
)
|
|
57
57
|
.map(
|
|
58
58
|
({
|
|
@@ -79,7 +79,7 @@ export function getApprovalActions(
|
|
|
79
79
|
[
|
|
80
80
|
operator,
|
|
81
81
|
exactApproval && !isErc1155 ? identifierOrCriteria : true,
|
|
82
|
-
]
|
|
82
|
+
],
|
|
83
83
|
),
|
|
84
84
|
};
|
|
85
85
|
} else {
|
|
@@ -93,11 +93,11 @@ export function getApprovalActions(
|
|
|
93
93
|
transactionMethods: getTransactionMethods(
|
|
94
94
|
contract.connect(signer),
|
|
95
95
|
"approve",
|
|
96
|
-
[operator, exactApproval ? requiredApprovedAmount : MAX_INT]
|
|
96
|
+
[operator, exactApproval ? requiredApprovedAmount : MAX_INT],
|
|
97
97
|
),
|
|
98
98
|
operator,
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
|
-
}
|
|
101
|
+
},
|
|
102
102
|
);
|
|
103
103
|
}
|
package/src/utils/balance.ts
CHANGED
|
@@ -12,13 +12,13 @@ export const balanceOf = async (
|
|
|
12
12
|
owner: string,
|
|
13
13
|
item: Item,
|
|
14
14
|
multicallProvider: multicallProviders.MulticallProvider,
|
|
15
|
-
criteria?: InputCriteria
|
|
15
|
+
criteria?: InputCriteria,
|
|
16
16
|
): Promise<BigNumber> => {
|
|
17
17
|
if (isErc721Item(item.itemType)) {
|
|
18
18
|
const contract = new Contract(
|
|
19
19
|
item.token,
|
|
20
20
|
ERC721ABI,
|
|
21
|
-
multicallProvider
|
|
21
|
+
multicallProvider,
|
|
22
22
|
) as TestERC721;
|
|
23
23
|
|
|
24
24
|
if (item.itemType === ItemType.ERC721_WITH_CRITERIA) {
|
|
@@ -27,8 +27,8 @@ export const balanceOf = async (
|
|
|
27
27
|
.ownerOf(criteria.identifier)
|
|
28
28
|
.then((ownerOf) =>
|
|
29
29
|
BigNumber.from(
|
|
30
|
-
Number(ownerOf.toLowerCase() === owner.toLowerCase())
|
|
31
|
-
)
|
|
30
|
+
Number(ownerOf.toLowerCase() === owner.toLowerCase()),
|
|
31
|
+
),
|
|
32
32
|
)
|
|
33
33
|
: contract.balanceOf(owner);
|
|
34
34
|
}
|
|
@@ -36,13 +36,13 @@ export const balanceOf = async (
|
|
|
36
36
|
return contract
|
|
37
37
|
.ownerOf(item.identifierOrCriteria)
|
|
38
38
|
.then((ownerOf) =>
|
|
39
|
-
BigNumber.from(Number(ownerOf.toLowerCase() === owner.toLowerCase()))
|
|
39
|
+
BigNumber.from(Number(ownerOf.toLowerCase() === owner.toLowerCase())),
|
|
40
40
|
);
|
|
41
41
|
} else if (isErc1155Item(item.itemType)) {
|
|
42
42
|
const contract = new Contract(
|
|
43
43
|
item.token,
|
|
44
44
|
ERC1155ABI,
|
|
45
|
-
multicallProvider
|
|
45
|
+
multicallProvider,
|
|
46
46
|
) as TestERC1155;
|
|
47
47
|
|
|
48
48
|
if (item.itemType === ItemType.ERC1155_WITH_CRITERIA) {
|
|
@@ -64,7 +64,7 @@ export const balanceOf = async (
|
|
|
64
64
|
const contract = new Contract(
|
|
65
65
|
item.token,
|
|
66
66
|
ERC20ABI,
|
|
67
|
-
multicallProvider
|
|
67
|
+
multicallProvider,
|
|
68
68
|
) as TestERC20;
|
|
69
69
|
return contract.balanceOf(owner);
|
|
70
70
|
}
|
|
@@ -41,7 +41,7 @@ export type InsufficientApprovals = {
|
|
|
41
41
|
const findBalanceAndApproval = (
|
|
42
42
|
balancesAndApprovals: BalancesAndApprovals,
|
|
43
43
|
token: string,
|
|
44
|
-
identifierOrCriteria: string
|
|
44
|
+
identifierOrCriteria: string,
|
|
45
45
|
) => {
|
|
46
46
|
const balanceAndApproval = balancesAndApprovals.find(
|
|
47
47
|
({
|
|
@@ -50,12 +50,12 @@ const findBalanceAndApproval = (
|
|
|
50
50
|
}) =>
|
|
51
51
|
token.toLowerCase() === checkedToken.toLowerCase() &&
|
|
52
52
|
checkedIdentifierOrCriteria.toLowerCase() ===
|
|
53
|
-
identifierOrCriteria.toLowerCase()
|
|
53
|
+
identifierOrCriteria.toLowerCase(),
|
|
54
54
|
);
|
|
55
55
|
|
|
56
56
|
if (!balanceAndApproval) {
|
|
57
57
|
throw new Error(
|
|
58
|
-
"Balances and approvals didn't contain all tokens and identifiers"
|
|
58
|
+
"Balances and approvals didn't contain all tokens and identifiers",
|
|
59
59
|
);
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -86,14 +86,14 @@ export const getBalancesAndApprovals = async ({
|
|
|
86
86
|
owner,
|
|
87
87
|
item,
|
|
88
88
|
operator,
|
|
89
|
-
multicallProvider
|
|
89
|
+
multicallProvider,
|
|
90
90
|
);
|
|
91
91
|
} else if (isErc20Item(item.itemType)) {
|
|
92
92
|
approvedAmountPromise = approvedItemAmount(
|
|
93
93
|
owner,
|
|
94
94
|
item,
|
|
95
95
|
operator,
|
|
96
|
-
multicallProvider
|
|
96
|
+
multicallProvider,
|
|
97
97
|
);
|
|
98
98
|
}
|
|
99
99
|
// If native token, we don't need to check for approvals
|
|
@@ -109,12 +109,12 @@ export const getBalancesAndApprovals = async ({
|
|
|
109
109
|
owner,
|
|
110
110
|
item,
|
|
111
111
|
multicallProvider,
|
|
112
|
-
itemToCriteria.get(item)
|
|
112
|
+
itemToCriteria.get(item),
|
|
113
113
|
),
|
|
114
114
|
approvedAmount: await approvedAmountPromise,
|
|
115
115
|
itemType: item.itemType,
|
|
116
116
|
};
|
|
117
|
-
})
|
|
117
|
+
}),
|
|
118
118
|
);
|
|
119
119
|
};
|
|
120
120
|
|
|
@@ -137,27 +137,27 @@ export const getInsufficientBalanceAndApprovalAmounts = ({
|
|
|
137
137
|
([token, identifierToAmount]) =>
|
|
138
138
|
Object.entries(identifierToAmount).map(
|
|
139
139
|
([identifierOrCriteria, amountNeeded]) =>
|
|
140
|
-
[token, identifierOrCriteria, amountNeeded] as const
|
|
141
|
-
)
|
|
140
|
+
[token, identifierOrCriteria, amountNeeded] as const,
|
|
141
|
+
),
|
|
142
142
|
),
|
|
143
143
|
].flat();
|
|
144
144
|
|
|
145
145
|
const filterBalancesOrApprovals = (
|
|
146
|
-
filterKey: "balance" | "approvedAmount"
|
|
146
|
+
filterKey: "balance" | "approvedAmount",
|
|
147
147
|
): InsufficientBalances =>
|
|
148
148
|
tokenAndIdentifierAndAmountNeeded
|
|
149
149
|
.filter(([token, identifierOrCriteria, amountNeeded]) =>
|
|
150
150
|
findBalanceAndApproval(
|
|
151
151
|
balancesAndApprovals,
|
|
152
152
|
token,
|
|
153
|
-
identifierOrCriteria
|
|
154
|
-
)[filterKey].lt(amountNeeded)
|
|
153
|
+
identifierOrCriteria,
|
|
154
|
+
)[filterKey].lt(amountNeeded),
|
|
155
155
|
)
|
|
156
156
|
.map(([token, identifierOrCriteria, amount]) => {
|
|
157
157
|
const balanceAndApproval = findBalanceAndApproval(
|
|
158
158
|
balancesAndApprovals,
|
|
159
159
|
token,
|
|
160
|
-
identifierOrCriteria
|
|
160
|
+
identifierOrCriteria,
|
|
161
161
|
);
|
|
162
162
|
|
|
163
163
|
return {
|
|
@@ -170,7 +170,7 @@ export const getInsufficientBalanceAndApprovalAmounts = ({
|
|
|
170
170
|
});
|
|
171
171
|
|
|
172
172
|
const mapToApproval = (
|
|
173
|
-
insufficientBalance: InsufficientBalances[number]
|
|
173
|
+
insufficientBalance: InsufficientBalances[number],
|
|
174
174
|
): InsufficientApprovals[number] => ({
|
|
175
175
|
token: insufficientBalance.token,
|
|
176
176
|
identifierOrCriteria: insufficientBalance.identifierOrCriteria,
|
|
@@ -230,7 +230,7 @@ export const validateOfferBalancesAndApprovals = ({
|
|
|
230
230
|
|
|
231
231
|
if (throwOnInsufficientBalances && insufficientBalances.length > 0) {
|
|
232
232
|
throw new Error(
|
|
233
|
-
"The offerer does not have the amount needed to create or fulfill."
|
|
233
|
+
"The offerer does not have the amount needed to create or fulfill.",
|
|
234
234
|
);
|
|
235
235
|
}
|
|
236
236
|
|
|
@@ -284,7 +284,7 @@ export const validateBasicFulfillBalancesAndApprovals = ({
|
|
|
284
284
|
});
|
|
285
285
|
|
|
286
286
|
const considerationWithoutOfferItemType = consideration.filter(
|
|
287
|
-
(item) => item.itemType !== offer[0].itemType
|
|
287
|
+
(item) => item.itemType !== offer[0].itemType,
|
|
288
288
|
);
|
|
289
289
|
|
|
290
290
|
const { insufficientBalances, insufficientApprovals } =
|
|
@@ -303,7 +303,7 @@ export const validateBasicFulfillBalancesAndApprovals = ({
|
|
|
303
303
|
|
|
304
304
|
if (insufficientBalances.length > 0) {
|
|
305
305
|
throw new Error(
|
|
306
|
-
"The fulfiller does not have the balances needed to fulfill."
|
|
306
|
+
"The fulfiller does not have the balances needed to fulfill.",
|
|
307
307
|
);
|
|
308
308
|
}
|
|
309
309
|
|
|
@@ -379,7 +379,7 @@ export const validateStandardFulfillBalancesAndApprovals = ({
|
|
|
379
379
|
|
|
380
380
|
if (insufficientBalances.length > 0) {
|
|
381
381
|
throw new Error(
|
|
382
|
-
"The fulfiller does not have the balances needed to fulfill."
|
|
382
|
+
"The fulfiller does not have the balances needed to fulfill.",
|
|
383
383
|
);
|
|
384
384
|
}
|
|
385
385
|
|
|
@@ -405,7 +405,7 @@ const addToExistingBalances = ({
|
|
|
405
405
|
|
|
406
406
|
// Deep clone existing balances
|
|
407
407
|
const balancesAndApprovalsAfterReceivingItems = balancesAndApprovals.map(
|
|
408
|
-
(item) => ({ ...item })
|
|
408
|
+
(item) => ({ ...item }),
|
|
409
409
|
);
|
|
410
410
|
|
|
411
411
|
// Add each summed item amount to the existing balances as we may want tocheck balances after receiving all items
|
|
@@ -416,7 +416,7 @@ const addToExistingBalances = ({
|
|
|
416
416
|
const balanceAndApproval = findBalanceAndApproval(
|
|
417
417
|
balancesAndApprovalsAfterReceivingItems,
|
|
418
418
|
token,
|
|
419
|
-
identifierOrCriteria
|
|
419
|
+
identifierOrCriteria,
|
|
420
420
|
);
|
|
421
421
|
|
|
422
422
|
const balanceAndApprovalIndex =
|
|
@@ -428,8 +428,8 @@ const addToExistingBalances = ({
|
|
|
428
428
|
balancesAndApprovalsAfterReceivingItems[
|
|
429
429
|
balanceAndApprovalIndex
|
|
430
430
|
].balance.add(amount);
|
|
431
|
-
}
|
|
432
|
-
)
|
|
431
|
+
},
|
|
432
|
+
),
|
|
433
433
|
);
|
|
434
434
|
|
|
435
435
|
return balancesAndApprovalsAfterReceivingItems;
|
package/src/utils/criteria.ts
CHANGED
|
@@ -20,9 +20,9 @@ export const generateCriteriaResolvers = ({
|
|
|
20
20
|
item,
|
|
21
21
|
index,
|
|
22
22
|
side: Side.OFFER,
|
|
23
|
-
} as const
|
|
23
|
+
}) as const,
|
|
24
24
|
)
|
|
25
|
-
.filter(({ item }) => isCriteriaItem(item.itemType))
|
|
25
|
+
.filter(({ item }) => isCriteriaItem(item.itemType)),
|
|
26
26
|
);
|
|
27
27
|
|
|
28
28
|
const considerationCriteriaItems = orders.flatMap((order, orderIndex) =>
|
|
@@ -34,16 +34,16 @@ export const generateCriteriaResolvers = ({
|
|
|
34
34
|
item,
|
|
35
35
|
index,
|
|
36
36
|
side: Side.CONSIDERATION,
|
|
37
|
-
} as const
|
|
37
|
+
}) as const,
|
|
38
38
|
)
|
|
39
|
-
.filter(({ item }) => isCriteriaItem(item.itemType))
|
|
39
|
+
.filter(({ item }) => isCriteriaItem(item.itemType)),
|
|
40
40
|
);
|
|
41
41
|
|
|
42
42
|
const mapCriteriaItemsToResolver = (
|
|
43
43
|
criteriaItems:
|
|
44
44
|
| typeof offerCriteriaItems
|
|
45
45
|
| typeof considerationCriteriaItems,
|
|
46
|
-
criterias: InputCriteria[][]
|
|
46
|
+
criterias: InputCriteria[][],
|
|
47
47
|
) =>
|
|
48
48
|
criteriaItems.map(({ orderIndex, item, index, side }) => {
|
|
49
49
|
const merkleRoot = item.identifierOrCriteria || "0";
|
|
@@ -61,7 +61,7 @@ export const generateCriteriaResolvers = ({
|
|
|
61
61
|
...mapCriteriaItemsToResolver(offerCriteriaItems, offerCriterias),
|
|
62
62
|
...mapCriteriaItemsToResolver(
|
|
63
63
|
considerationCriteriaItems,
|
|
64
|
-
considerationCriterias
|
|
64
|
+
considerationCriterias,
|
|
65
65
|
),
|
|
66
66
|
];
|
|
67
67
|
|
|
@@ -70,7 +70,7 @@ export const generateCriteriaResolvers = ({
|
|
|
70
70
|
|
|
71
71
|
export const getItemToCriteriaMap = (
|
|
72
72
|
items: Item[],
|
|
73
|
-
criterias: InputCriteria[]
|
|
73
|
+
criterias: InputCriteria[],
|
|
74
74
|
) => {
|
|
75
75
|
const criteriasCopy = [...criterias];
|
|
76
76
|
|
|
@@ -34,7 +34,7 @@ const getTree = (leaves: string[], defaultLeafHash: string) =>
|
|
|
34
34
|
const encodeProof = (
|
|
35
35
|
key: number,
|
|
36
36
|
proof: string[],
|
|
37
|
-
signature = `0x${"ff".repeat(64)}
|
|
37
|
+
signature = `0x${"ff".repeat(64)}`,
|
|
38
38
|
) => {
|
|
39
39
|
return hexConcat([
|
|
40
40
|
signature,
|
|
@@ -116,7 +116,7 @@ export class Eip712MerkleTree<BaseType extends Record<string, any> = any> {
|
|
|
116
116
|
public rootType: string,
|
|
117
117
|
public leafType: string,
|
|
118
118
|
public elements: BaseType[],
|
|
119
|
-
public depth: number
|
|
119
|
+
public depth: number,
|
|
120
120
|
) {
|
|
121
121
|
const encoder = TypedDataEncoder.from(types);
|
|
122
122
|
this.encoder = encoder;
|
|
@@ -24,7 +24,7 @@ export function getBulkOrderTreeHeight(length: number): number {
|
|
|
24
24
|
export function getBulkOrderTree(
|
|
25
25
|
orderComponents: OrderComponents[],
|
|
26
26
|
startIndex = 0,
|
|
27
|
-
height = getBulkOrderTreeHeight(orderComponents.length + startIndex)
|
|
27
|
+
height = getBulkOrderTreeHeight(orderComponents.length + startIndex),
|
|
28
28
|
) {
|
|
29
29
|
const types = getBulkOrderTypes(height);
|
|
30
30
|
const defaultNode = DefaultGetter.from(types, "OrderComponents");
|
|
@@ -41,7 +41,7 @@ export function getBulkOrderTree(
|
|
|
41
41
|
"BulkOrder",
|
|
42
42
|
"OrderComponents",
|
|
43
43
|
elements,
|
|
44
|
-
height
|
|
44
|
+
height,
|
|
45
45
|
);
|
|
46
46
|
return tree;
|
|
47
47
|
}
|
|
@@ -52,7 +52,7 @@ export class DefaultGetter<Types extends EIP712TypeDefinitions> {
|
|
|
52
52
|
this.defaultValues[name] = defaultValue;
|
|
53
53
|
if (!isNullish(defaultValue)) {
|
|
54
54
|
logger.throwError(
|
|
55
|
-
`Got non-empty value for type ${name} in default generator: ${defaultValue}
|
|
55
|
+
`Got non-empty value for type ${name} in default generator: ${defaultValue}`,
|
|
56
56
|
);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
@@ -60,17 +60,17 @@ export class DefaultGetter<Types extends EIP712TypeDefinitions> {
|
|
|
60
60
|
|
|
61
61
|
/* eslint-disable no-dupe-class-members */
|
|
62
62
|
static from<Types extends EIP712TypeDefinitions>(
|
|
63
|
-
types: Types
|
|
63
|
+
types: Types,
|
|
64
64
|
): DefaultMap<Types>;
|
|
65
65
|
|
|
66
66
|
static from<Types extends EIP712TypeDefinitions>(
|
|
67
67
|
types: Types,
|
|
68
|
-
type: keyof Types
|
|
68
|
+
type: keyof Types,
|
|
69
69
|
): any;
|
|
70
70
|
|
|
71
71
|
static from<Types extends EIP712TypeDefinitions>(
|
|
72
72
|
types: Types,
|
|
73
|
-
type?: keyof Types
|
|
73
|
+
type?: keyof Types,
|
|
74
74
|
): DefaultMap<Types> {
|
|
75
75
|
const { defaultValues } = new DefaultGetter(types);
|
|
76
76
|
if (type) return defaultValues[type];
|
|
@@ -104,7 +104,7 @@ export class DefaultGetter<Types extends EIP712TypeDefinitions> {
|
|
|
104
104
|
...obj,
|
|
105
105
|
[name]: this.getDefaultValue(type),
|
|
106
106
|
}),
|
|
107
|
-
{}
|
|
107
|
+
{},
|
|
108
108
|
);
|
|
109
109
|
}
|
|
110
110
|
|
|
@@ -9,7 +9,7 @@ export const makeArray = <T>(len: number, getValue: (i: number) => T) =>
|
|
|
9
9
|
|
|
10
10
|
export const chunk = <T>(array: T[], size: number) => {
|
|
11
11
|
return makeArray(Math.ceil(array.length / size), (i) =>
|
|
12
|
-
array.slice(i * size, (i + 1) * size)
|
|
12
|
+
array.slice(i * size, (i + 1) * size),
|
|
13
13
|
);
|
|
14
14
|
};
|
|
15
15
|
|