@@ -5,19 +5,19 @@ import {Script} from "forge-std/Script.sol";
5
5
import {Test} from "forge-std/Test.sol " ;
6
6
import {ItemType} from "seaport-types/src/lib/ConsiderationEnums.sol " ;
7
7
import {OfferItem, ConsiderationItem} from "seaport-types/src/lib/ConsiderationStructs.sol " ;
8
- import {CampaignParams, CampaignRequirements} from "../src/lib/RedeemablesStructs.sol " ;
8
+ import {Campaign, CampaignParams, CampaignRequirements} from "../src/lib/RedeemablesStructs.sol " ;
9
9
import {BURN_ADDRESS} from "../src/lib/RedeemablesConstants.sol " ;
10
- import {ERC721RedemptionMintable } from "../src/extensions/ERC721RedemptionMintable.sol " ;
11
- import {ERC721OwnerMintable } from "../src/test/ERC721OwnerMintable.sol " ;
12
10
import {ERC721ShipyardRedeemableMintable } from "../src/extensions/ERC721ShipyardRedeemableMintable.sol " ;
11
+ import {ERC721ShipyardRedeemableOwnerMintable } from "../src/test/ERC721ShipyardRedeemableOwnerMintable.sol " ;
13
12
14
13
contract DeployAndRedeemTokens_CampaignOnReceiveToken is Script , Test {
15
14
function run () external {
16
15
vm.startBroadcast ();
17
16
18
- ERC721OwnerMintable redeemToken = new ERC721OwnerMintable ();
17
+ ERC721ShipyardRedeemableOwnerMintable redeemToken =
18
+ new ERC721ShipyardRedeemableOwnerMintable ("TestRedeemablesRedeemToken " , "TEST-RDM " );
19
19
ERC721ShipyardRedeemableMintable receiveToken =
20
- new ERC721ShipyardRedeemableMintable ("TestRedeemablesReceiveToken " , "TEST " );
20
+ new ERC721ShipyardRedeemableMintable ("TestRedeemablesReceiveToken " , "TEST-RCV " );
21
21
22
22
// Configure the campaign.
23
23
OfferItem[] memory offer = new OfferItem [](1 );
@@ -46,25 +46,32 @@ contract DeployAndRedeemTokens_CampaignOnReceiveToken is Script, Test {
46
46
requirements[0 ].consideration = consideration;
47
47
48
48
CampaignParams memory params = CampaignParams ({
49
- requirements: requirements,
50
- signer: address (0 ),
51
49
startTime: uint32 (block .timestamp ),
52
50
endTime: uint32 (block .timestamp + 1_000_000 ),
53
51
maxCampaignRedemptions: 1_000 ,
54
- manager: msg .sender
52
+ manager: msg .sender ,
53
+ signer: address (0 )
55
54
});
55
+ Campaign memory campaign = Campaign ({params: params, requirements: requirements});
56
56
uint256 campaignId =
57
- receiveToken.createCampaign (params , "ipfs://QmQKc93y2Ev5k9Kz54mCw48ZM487bwGDktZYPLtrjJ3r1d " );
57
+ receiveToken.createCampaign (campaign , "ipfs://QmbFxYgQMoBSUNFyW7WRWGaAWwJiRPM6HbK86aFkSJSq5N " );
58
58
59
59
// Mint token 1 to redeem for token 1.
60
60
redeemToken.mint (msg .sender , 1 );
61
+ redeemToken.mint (msg .sender , 2 );
62
+ redeemToken.mint (msg .sender , 3 );
63
+ redeemToken.mint (msg .sender , 4 );
61
64
62
65
// Let's redeem them!
63
- uint256 requirementsIndex = 0 ;
64
- bytes32 redemptionHash;
65
- uint256 salt;
66
- bytes memory signature;
67
- bytes memory data = abi.encode (campaignId, requirementsIndex, redemptionHash, salt, signature);
66
+ uint256 [] memory traitRedemptionTokenIds;
67
+ bytes memory data = abi.encode (
68
+ campaignId,
69
+ 0 , // requirementsIndex
70
+ bytes32 (0 ), // redemptionHash
71
+ traitRedemptionTokenIds,
72
+ uint256 (0 ), // salt
73
+ bytes ("" ) // signature
74
+ );
68
75
69
76
uint256 [] memory tokenIds = new uint256 [](1 );
70
77
tokenIds[0 ] = 1 ;
0 commit comments