Skip to content

Commit 66aa127

Browse files
Primary sale contracts versions (#274)
* primary sale contracts versions * Add ERC721Salev1 --------- Co-authored-by: Michael Standen <[email protected]>
1 parent 6ecec90 commit 66aa127

File tree

10 files changed

+4644
-8
lines changed

10 files changed

+4644
-8
lines changed

contracts/artifacts/seq_sale/IERC1155Sale.sol/IERC1155Sale.json renamed to contracts/artifacts/seq_sale/IERC1155SaleV0.sol/IERC1155SaleV0.json

File renamed without changes.

contracts/artifacts/seq_sale/IERC1155SaleV1.sol/IERC1155SaleV1.json

Lines changed: 1036 additions & 0 deletions
Large diffs are not rendered by default.

contracts/artifacts/seq_sale/IERC721Sale.sol/IERC721Sale.json renamed to contracts/artifacts/seq_sale/IERC721SaleV0.sol/IERC721SaleV0.json

File renamed without changes.
Lines changed: 323 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,323 @@
1+
{
2+
"abi": [
3+
{
4+
"inputs": [
5+
{ "internalType": "address", "name": "currency", "type": "address" },
6+
{ "internalType": "uint256", "name": "expected", "type": "uint256" },
7+
{ "internalType": "uint256", "name": "actual", "type": "uint256" }
8+
],
9+
"name": "InsufficientPayment",
10+
"type": "error"
11+
},
12+
{
13+
"inputs": [
14+
{ "internalType": "uint256", "name": "remainingSupply", "type": "uint256" },
15+
{ "internalType": "uint256", "name": "amount", "type": "uint256" }
16+
],
17+
"name": "InsufficientSupply",
18+
"type": "error"
19+
},
20+
{ "inputs": [], "name": "InvalidInitialization", "type": "error" },
21+
{ "inputs": [], "name": "InvalidSaleDetails", "type": "error" },
22+
{
23+
"inputs": [
24+
{ "internalType": "bytes32", "name": "root", "type": "bytes32" },
25+
{ "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" },
26+
{ "internalType": "address", "name": "addr", "type": "address" },
27+
{ "internalType": "bytes32", "name": "salt", "type": "bytes32" }
28+
],
29+
"name": "MerkleProofInvalid",
30+
"type": "error"
31+
},
32+
{ "inputs": [], "name": "SaleInactive", "type": "error" },
33+
{ "inputs": [], "name": "WithdrawFailed", "type": "error" },
34+
{
35+
"anonymous": false,
36+
"inputs": [
37+
{ "indexed": false, "internalType": "address", "name": "to", "type": "address" },
38+
{ "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }
39+
],
40+
"name": "ItemsMinted",
41+
"type": "event"
42+
},
43+
{
44+
"anonymous": false,
45+
"inputs": [
46+
{ "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" },
47+
{ "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" },
48+
{ "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" }
49+
],
50+
"name": "RoleAdminChanged",
51+
"type": "event"
52+
},
53+
{
54+
"anonymous": false,
55+
"inputs": [
56+
{ "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" },
57+
{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
58+
{ "indexed": true, "internalType": "address", "name": "sender", "type": "address" }
59+
],
60+
"name": "RoleGranted",
61+
"type": "event"
62+
},
63+
{
64+
"anonymous": false,
65+
"inputs": [
66+
{ "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" },
67+
{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
68+
{ "indexed": true, "internalType": "address", "name": "sender", "type": "address" }
69+
],
70+
"name": "RoleRevoked",
71+
"type": "event"
72+
},
73+
{
74+
"anonymous": false,
75+
"inputs": [
76+
{ "indexed": false, "internalType": "uint256", "name": "remainingSupply", "type": "uint256" },
77+
{ "indexed": false, "internalType": "uint256", "name": "cost", "type": "uint256" },
78+
{ "indexed": false, "internalType": "address", "name": "paymentToken", "type": "address" },
79+
{ "indexed": false, "internalType": "uint64", "name": "startTime", "type": "uint64" },
80+
{ "indexed": false, "internalType": "uint64", "name": "endTime", "type": "uint64" },
81+
{ "indexed": false, "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" }
82+
],
83+
"name": "SaleDetailsUpdated",
84+
"type": "event"
85+
},
86+
{
87+
"inputs": [],
88+
"name": "DEFAULT_ADMIN_ROLE",
89+
"outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
90+
"stateMutability": "view",
91+
"type": "function"
92+
},
93+
{
94+
"inputs": [
95+
{ "internalType": "address", "name": "wallet", "type": "address" },
96+
{
97+
"components": [
98+
{ "internalType": "address", "name": "approvedSigner", "type": "address" },
99+
{ "internalType": "bytes4", "name": "identityType", "type": "bytes4" },
100+
{ "internalType": "bytes32", "name": "issuerHash", "type": "bytes32" },
101+
{ "internalType": "bytes32", "name": "audienceHash", "type": "bytes32" },
102+
{ "internalType": "bytes", "name": "applicationData", "type": "bytes" },
103+
{
104+
"components": [
105+
{ "internalType": "string", "name": "redirectUrl", "type": "string" },
106+
{ "internalType": "uint64", "name": "issuedAt", "type": "uint64" }
107+
],
108+
"internalType": "struct AuthData",
109+
"name": "authData",
110+
"type": "tuple"
111+
}
112+
],
113+
"internalType": "struct Attestation",
114+
"name": "attestation",
115+
"type": "tuple"
116+
},
117+
{
118+
"components": [
119+
{ "internalType": "address", "name": "to", "type": "address" },
120+
{ "internalType": "uint256", "name": "value", "type": "uint256" },
121+
{ "internalType": "bytes", "name": "data", "type": "bytes" },
122+
{ "internalType": "uint256", "name": "gasLimit", "type": "uint256" },
123+
{ "internalType": "bool", "name": "delegateCall", "type": "bool" },
124+
{ "internalType": "bool", "name": "onlyFallback", "type": "bool" },
125+
{ "internalType": "uint256", "name": "behaviorOnError", "type": "uint256" }
126+
],
127+
"internalType": "struct Payload.Call",
128+
"name": "call",
129+
"type": "tuple"
130+
}
131+
],
132+
"name": "acceptImplicitRequest",
133+
"outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
134+
"stateMutability": "view",
135+
"type": "function"
136+
},
137+
{
138+
"inputs": [
139+
{ "internalType": "bytes32", "name": "root", "type": "bytes32" },
140+
{ "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" },
141+
{ "internalType": "address", "name": "addr", "type": "address" },
142+
{ "internalType": "bytes32", "name": "salt", "type": "bytes32" }
143+
],
144+
"name": "checkMerkleProof",
145+
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
146+
"stateMutability": "view",
147+
"type": "function"
148+
},
149+
{
150+
"inputs": [{ "internalType": "bytes32", "name": "role", "type": "bytes32" }],
151+
"name": "getRoleAdmin",
152+
"outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
153+
"stateMutability": "view",
154+
"type": "function"
155+
},
156+
{
157+
"inputs": [
158+
{ "internalType": "bytes32", "name": "role", "type": "bytes32" },
159+
{ "internalType": "uint256", "name": "index", "type": "uint256" }
160+
],
161+
"name": "getRoleMember",
162+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
163+
"stateMutability": "view",
164+
"type": "function"
165+
},
166+
{
167+
"inputs": [{ "internalType": "bytes32", "name": "role", "type": "bytes32" }],
168+
"name": "getRoleMemberCount",
169+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
170+
"stateMutability": "view",
171+
"type": "function"
172+
},
173+
{
174+
"inputs": [
175+
{ "internalType": "bytes32", "name": "role", "type": "bytes32" },
176+
{ "internalType": "address", "name": "account", "type": "address" }
177+
],
178+
"name": "grantRole",
179+
"outputs": [],
180+
"stateMutability": "nonpayable",
181+
"type": "function"
182+
},
183+
{
184+
"inputs": [
185+
{ "internalType": "bytes32", "name": "role", "type": "bytes32" },
186+
{ "internalType": "address", "name": "account", "type": "address" }
187+
],
188+
"name": "hasRole",
189+
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
190+
"stateMutability": "view",
191+
"type": "function"
192+
},
193+
{
194+
"inputs": [
195+
{ "internalType": "address", "name": "owner", "type": "address" },
196+
{ "internalType": "address", "name": "items", "type": "address" },
197+
{ "internalType": "address", "name": "implicitModeValidator", "type": "address" },
198+
{ "internalType": "bytes32", "name": "implicitModeProjectId", "type": "bytes32" }
199+
],
200+
"name": "initialize",
201+
"outputs": [],
202+
"stateMutability": "nonpayable",
203+
"type": "function"
204+
},
205+
{
206+
"inputs": [],
207+
"name": "itemsContract",
208+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
209+
"stateMutability": "view",
210+
"type": "function"
211+
},
212+
{
213+
"inputs": [
214+
{ "internalType": "address", "name": "to", "type": "address" },
215+
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
216+
{ "internalType": "address", "name": "paymentToken", "type": "address" },
217+
{ "internalType": "uint256", "name": "maxTotal", "type": "uint256" },
218+
{ "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" }
219+
],
220+
"name": "mint",
221+
"outputs": [],
222+
"stateMutability": "payable",
223+
"type": "function"
224+
},
225+
{
226+
"inputs": [
227+
{ "internalType": "bytes32", "name": "role", "type": "bytes32" },
228+
{ "internalType": "address", "name": "account", "type": "address" }
229+
],
230+
"name": "renounceRole",
231+
"outputs": [],
232+
"stateMutability": "nonpayable",
233+
"type": "function"
234+
},
235+
{
236+
"inputs": [
237+
{ "internalType": "bytes32", "name": "role", "type": "bytes32" },
238+
{ "internalType": "address", "name": "account", "type": "address" }
239+
],
240+
"name": "revokeRole",
241+
"outputs": [],
242+
"stateMutability": "nonpayable",
243+
"type": "function"
244+
},
245+
{
246+
"inputs": [],
247+
"name": "saleDetails",
248+
"outputs": [
249+
{
250+
"components": [
251+
{ "internalType": "uint256", "name": "remainingSupply", "type": "uint256" },
252+
{ "internalType": "uint256", "name": "cost", "type": "uint256" },
253+
{ "internalType": "address", "name": "paymentToken", "type": "address" },
254+
{ "internalType": "uint64", "name": "startTime", "type": "uint64" },
255+
{ "internalType": "uint64", "name": "endTime", "type": "uint64" },
256+
{ "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" }
257+
],
258+
"internalType": "struct IERC721SaleFunctions.SaleDetails",
259+
"name": "",
260+
"type": "tuple"
261+
}
262+
],
263+
"stateMutability": "view",
264+
"type": "function"
265+
},
266+
{
267+
"inputs": [{ "internalType": "bytes32", "name": "projectId", "type": "bytes32" }],
268+
"name": "setImplicitModeProjectId",
269+
"outputs": [],
270+
"stateMutability": "nonpayable",
271+
"type": "function"
272+
},
273+
{
274+
"inputs": [{ "internalType": "address", "name": "validator", "type": "address" }],
275+
"name": "setImplicitModeValidator",
276+
"outputs": [],
277+
"stateMutability": "nonpayable",
278+
"type": "function"
279+
},
280+
{
281+
"inputs": [
282+
{ "internalType": "uint256", "name": "remainingSupply", "type": "uint256" },
283+
{ "internalType": "uint256", "name": "cost", "type": "uint256" },
284+
{ "internalType": "address", "name": "paymentToken", "type": "address" },
285+
{ "internalType": "uint64", "name": "startTime", "type": "uint64" },
286+
{ "internalType": "uint64", "name": "endTime", "type": "uint64" },
287+
{ "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" }
288+
],
289+
"name": "setSaleDetails",
290+
"outputs": [],
291+
"stateMutability": "nonpayable",
292+
"type": "function"
293+
},
294+
{
295+
"inputs": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }],
296+
"name": "supportsInterface",
297+
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
298+
"stateMutability": "view",
299+
"type": "function"
300+
},
301+
{
302+
"inputs": [
303+
{ "internalType": "address", "name": "token", "type": "address" },
304+
{ "internalType": "address", "name": "to", "type": "address" },
305+
{ "internalType": "uint256", "name": "value", "type": "uint256" }
306+
],
307+
"name": "withdrawERC20",
308+
"outputs": [],
309+
"stateMutability": "nonpayable",
310+
"type": "function"
311+
},
312+
{
313+
"inputs": [
314+
{ "internalType": "address", "name": "to", "type": "address" },
315+
{ "internalType": "uint256", "name": "value", "type": "uint256" }
316+
],
317+
"name": "withdrawETH",
318+
"outputs": [],
319+
"stateMutability": "nonpayable",
320+
"type": "function"
321+
}
322+
]
323+
}

contracts/contracts.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ import (
1111
"github.com/0xsequence/go-sequence/contracts/gen/ierc1271"
1212
"github.com/0xsequence/go-sequence/contracts/gen/niftyswap"
1313
seqmarketplace "github.com/0xsequence/go-sequence/contracts/gen/seq_marketplace"
14-
seqsale1155 "github.com/0xsequence/go-sequence/contracts/gen/seq_sale/erc1155"
15-
seqsale721 "github.com/0xsequence/go-sequence/contracts/gen/seq_sale/erc721"
14+
seqsale1155v0 "github.com/0xsequence/go-sequence/contracts/gen/seq_sale/erc1155v0"
15+
seqsale1155v1 "github.com/0xsequence/go-sequence/contracts/gen/seq_sale/erc1155v1"
16+
seqsale721v0 "github.com/0xsequence/go-sequence/contracts/gen/seq_sale/erc721v0"
1617
"github.com/0xsequence/go-sequence/contracts/gen/supply"
1718
"github.com/0xsequence/go-sequence/contracts/gen/tokens"
1819
walletfactory1 "github.com/0xsequence/go-sequence/contracts/gen/v1/walletfactory"
@@ -44,8 +45,9 @@ var GasEstimator,
4445
NiftyswapFactory,
4546
WrapAndNiftyswap,
4647
SeqMarketplace,
47-
SeqSale721,
48-
SeqSale1155,
48+
SeqSale721V0,
49+
SeqSale1155V0,
50+
SeqSale1155V1,
4951
_ ethartifact.Artifact
5052

5153
var V1 struct {
@@ -105,8 +107,9 @@ func init() {
105107
WrapAndNiftyswap = artifact("WRAP_AND_NIFTYSWAP", niftyswap.WrapAndNiftyswapABI, niftyswap.WrapAndNiftyswapBin)
106108

107109
SeqMarketplace = artifact("SEQ_MARKETPLACE", seqmarketplace.SequenceMarketplaceABI, seqmarketplace.SequenceMarketplaceMetaData.Bin)
108-
SeqSale721 = artifact("SEQ_SALE_ERC721", seqsale721.SaleABI, seqsale721.SaleMetaData.Bin)
109-
SeqSale1155 = artifact("SEQ_SALE_ERC1155", seqsale1155.SaleABI, seqsale1155.SaleMetaData.Bin)
110+
SeqSale721V0 = artifact("SEQ_SALE_ERC721_v0", seqsale721v0.SaleABI, seqsale721v0.SaleMetaData.Bin)
111+
SeqSale1155V0 = artifact("SEQ_SALE_ERC1155_V0", seqsale1155v0.SaleABI, seqsale1155v0.SaleMetaData.Bin)
112+
SeqSale1155V1 = artifact("SEQ_SALE_ERC1155_V1", seqsale1155v1.SaleABI, seqsale1155v1.SaleMetaData.Bin)
110113

111114
ERC20Mock = ethartifact.MustParseArtifactJSON(artifact_erc20mock)
112115
}

contracts/gen/gen.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,9 @@
6565
//
6666
// sequence sale
6767
//
68-
//go:generate go run github.com/0xsequence/ethkit/cmd/ethkit abigen --pkg=seq_sale_erc721 --type=Sale --outFile=./seq_sale/erc721/sale_erc721.gen.go --artifactsFile=../artifacts/seq_sale/IERC721Sale.sol/IERC721Sale.json
69-
//go:generate go run github.com/0xsequence/ethkit/cmd/ethkit abigen --pkg=seq_sale_erc1155 --type=Sale --outFile=./seq_sale/erc1155/sale_erc1155.gen.go --artifactsFile=../artifacts/seq_sale/IERC1155Sale.sol/IERC1155Sale.json
68+
//go:generate go run github.com/0xsequence/ethkit/cmd/ethkit abigen --pkg=seq_sale_erc721 --type=Sale --outFile=./seq_sale/erc721v0/sale_erc721_v0.gen.go --artifactsFile=../artifacts/seq_sale/IERC721SaleV0.sol/IERC721SaleV0.json
69+
//go:generate go run github.com/0xsequence/ethkit/cmd/ethkit abigen --pkg=seq_sale_erc721 --type=Sale --outFile=./seq_sale/erc721v1/sale_erc721_v1.gen.go --artifactsFile=../artifacts/seq_sale/IERC721SaleV1.sol/IERC721SaleV1.json
70+
//go:generate go run github.com/0xsequence/ethkit/cmd/ethkit abigen --pkg=seq_sale_erc1155 --type=Sale --outFile=./seq_sale/erc1155v0/sale_erc1155_v0.gen.go --artifactsFile=../artifacts/seq_sale/IERC1155SaleV0.sol/IERC1155SaleV0.json
71+
//go:generate go run github.com/0xsequence/ethkit/cmd/ethkit abigen --pkg=seq_sale_erc1155 --type=Sale --outFile=./seq_sale/erc1155v1/sale_erc1155_v1.gen.go --artifactsFile=../artifacts/seq_sale/IERC1155SaleV1.sol/IERC1155SaleV1.json
7072

7173
package gen
File renamed without changes.

0 commit comments

Comments
 (0)