SeadDrop v2 discussion
dcapitator opened this issue · comments
-_decodeOrder for erc721OffererImplementation is asserting tokenType is erc155 and it pass in ur test because u always pass type ERC1155.
const offerItem = {
itemType: 3, // ERC1155
token: token.address,
identifierOrCriteria: toBN(tokenId),
startAmount: toBN(quantity),
endAmount: toBN(quantity),
};
-in ERC721OffererImplemenation do u still have to check if seaport have "InvalidContractOrder" if qtty = 0?
_castAndInvert(minimumReceived[0].amount != 0);
This isn't a bug, it is intentional as a way to specify a number of ERC721s to be minted (by spoofing as a ERC1155) as a workaround in Seaport.
ERC1155SeaDropCloneable override _afterTokenTransfer to auto approve conduit , but we use ERC1155ConduitPreapproved
(Should not mint with feeBps > 10_000) test reverts for a different reson , currently for : InvalidProof
u have to replace mintParams in createOrder payload with mintParamsInvalidFeeBps
mintAllowList test
(Should not mint a signed mint after exceeding max mints per wallet) test reverts with SignatureAlreadyUsed in the second attempt of minting inside that "it" block..
expectation to revert on maxWallet exceeded .. should sign new mint with diff salt !
mintSigned test
(Should not mint an allow list stage after exceeding max token supply) test reverts with PayerNotAllowed instead of the block test "MintQuantityExceedsMaxSupply" or "MintQuantityExceedsMaxMintedPerWalletForTokenId" and the quantity need to be updated before creatingOrder depends on which case u are testing
minAllowList ERC1155
decodingOrder must have errors handling correct order :
if(errorBuffer << 255 != 0 ) {
revert MustSpecifyERC1155ConsiderationItemForSeaDropMint();
}. else if (errorBuffer << 254 != 0) {
revert UnsupportedExtraDataVersion(version);
} else if (errorBuffer << 253 != 0) {
revert InvalidSubstandard(substandard);
} else if (errorBuffer << 252 != 0) {
revert InvalidExtraDataEncoding(version);
}
otherwise testing substandard will revert as InvalidExtraDataEncoding
and testing MustSpecifyERC1155ConsiderationItemForSeaDropMint will revert as UnsupportedExtraDataVersion
Closing due to staleness, please open a new issue if you are still having issues
decodingOrder must have errors handling correct order :
if(errorBuffer << 255 != 0 ) { revert MustSpecifyERC1155ConsiderationItemForSeaDropMint(); }. else if (errorBuffer << 254 != 0) { revert UnsupportedExtraDataVersion(version); } else if (errorBuffer << 253 != 0) { revert InvalidSubstandard(substandard); } else if (errorBuffer << 252 != 0) { revert InvalidExtraDataEncoding(version); }
otherwise testing substandard will revert as InvalidExtraDataEncoding and testing MustSpecifyERC1155ConsiderationItemForSeaDropMint will revert as UnsupportedExtraDataVersion
it just didnt get an answer on .. @ryanio i geuss the reverts have wrong order .. i tested substandard error and it got reverted for invalidExtraDataEncoding.. and MustSpecifyERC1155ConsiderationItemForSeaDropMint reverted as UnsupporedExtraDataVersion
MintQuantityExceedsMaxMintedPerWalletForTokenId
here too .. @ryanio
(Should not mint with feeBps > 10_000) test reverts for a different reson , currently for : InvalidProof
u have to replace mintParams in createOrder payload with mintParamsInvalidFeeBps
mintAllowList test
also i guess this test reverts for diff reason that it should be .