Skip to content

Commit 150a775

Browse files
authored
feat: support v5 SDK for ERC721 sig mint+prepare (#620)
* feat: support v5 SDK for ERC721 sig mint+prepare * reuse existing type * wip * add domain * update comments * use integer types for dates
1 parent 864b8c5 commit 150a775

File tree

6 files changed

+439
-431
lines changed

6 files changed

+439
-431
lines changed

src/server/routes/contract/extensions/erc721/read/signatureGenerate.ts

Lines changed: 9 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,13 @@ import { thirdwebClient } from "../../../../../../utils/sdk";
1111
import { thirdwebSdkVersionSchema } from "../../../../../schemas/httpHeaders/thirdwebSdkVersion";
1212
import {
1313
ercNFTResponseType,
14-
nftInputSchema,
1514
signature721InputSchema,
1615
signature721OutputSchema,
1716
} from "../../../../../schemas/nft";
17+
import {
18+
signature721InputSchemaV5,
19+
signature721OutputSchemaV5,
20+
} from "../../../../../schemas/nft/v5";
1821
import {
1922
erc721ContractParamSchema,
2023
standardResponseSchema,
@@ -31,34 +34,9 @@ const responseSchemaV4 = Type.Object({
3134
});
3235

3336
// v5 sdk
34-
const requestBodySchemaV5 = Type.Intersect([
35-
Type.Object({
36-
to: Type.String(),
37-
metadata: Type.Union([nftInputSchema, Type.String()]),
38-
royaltyRecipient: Type.Optional(Type.String()),
39-
royaltyBps: Type.Optional(Type.Number()),
40-
primarySaleRecipient: Type.Optional(Type.String()),
41-
price: Type.Optional(Type.String()),
42-
priceInWei: Type.Optional(Type.String()),
43-
currency: Type.Optional(Type.String()),
44-
validityStartTimestamp: Type.Integer(),
45-
validityEndTimestamp: Type.Optional(Type.Integer()),
46-
uid: Type.Optional(Type.String()),
47-
}),
48-
]);
37+
const requestBodySchemaV5 = signature721InputSchemaV5;
4938
const responseSchemaV5 = Type.Object({
50-
payload: Type.Object({
51-
to: Type.String(),
52-
royaltyRecipient: Type.String(),
53-
royaltyBps: Type.String(),
54-
primarySaleRecipient: Type.String(),
55-
uri: Type.String(),
56-
price: Type.String(),
57-
currency: Type.String(),
58-
validityStartTimestamp: Type.Integer(),
59-
validityEndTimestamp: Type.Integer(),
60-
uid: Type.String(),
61-
}),
39+
payload: signature721OutputSchemaV5,
6240
signature: Type.String(),
6341
});
6442

@@ -172,7 +150,9 @@ export async function erc721SignatureGenerate(fastify: FastifyInstance) {
172150
price,
173151
priceInWei: maybeBigInt(priceInWei),
174152
currency: currency as Address | undefined,
175-
validityStartTimestamp: new Date(validityStartTimestamp * 1000),
153+
validityStartTimestamp: validityStartTimestamp
154+
? new Date(validityStartTimestamp * 1000)
155+
: undefined,
176156
validityEndTimestamp: validityEndTimestamp
177157
? new Date(validityEndTimestamp * 1000)
178158
: undefined,

0 commit comments

Comments
 (0)