Skip to content

Commit f9f5b6e

Browse files
authored
Merge pull request #90 from luisantoniocrag/development
Optional NFT Types
2 parents 961ebeb + 9c3526e commit f9f5b6e

File tree

3 files changed

+18
-10
lines changed

3 files changed

+18
-10
lines changed

src/handlers/generate-erc721-permit.ts

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,23 @@ export async function generateErc721PermitSignature(
6868
_userId = contextOrPermitPayload.userId;
6969
} else {
7070
const { NFT_MINTER_PRIVATE_KEY, NFT_CONTRACT_ADDRESS } = contextOrPermitPayload.env;
71+
72+
_logger = contextOrPermitPayload.logger;
73+
74+
if (!NFT_MINTER_PRIVATE_KEY) {
75+
const errorMessage = "NFT minter private key is not defined";
76+
_logger.error(errorMessage);
77+
throw new Error(errorMessage);
78+
}
79+
80+
if (!NFT_CONTRACT_ADDRESS) {
81+
const errorMessage = "NFT contract address is not defined";
82+
_logger.error(errorMessage);
83+
throw new Error(errorMessage);
84+
}
85+
7186
const { evmNetworkId } = contextOrPermitPayload.config;
7287
const adapters = contextOrPermitPayload.adapters;
73-
_logger = contextOrPermitPayload.logger;
7488
_nftContractAddress = NFT_CONTRACT_ADDRESS;
7589
_evmNetworkId = evmNetworkId;
7690
_nftMinterPrivateKey = NFT_MINTER_PRIVATE_KEY;
@@ -102,12 +116,6 @@ export async function generateErc721PermitSignature(
102116
throw new Error("Provider is not defined");
103117
}
104118

105-
if (!_nftContractAddress) {
106-
const errorMessage = "NFT contract address is not defined";
107-
_logger.error(errorMessage);
108-
throw new Error(errorMessage);
109-
}
110-
111119
let adminWallet;
112120

113121
try {

src/types/env.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ export const envSchema = T.Object({
66
GITHUB_TOKEN: T.String(),
77
SUPABASE_URL: T.String(),
88
SUPABASE_KEY: T.String(),
9-
NFT_MINTER_PRIVATE_KEY: T.String(),
10-
NFT_CONTRACT_ADDRESS: T.String(),
9+
NFT_MINTER_PRIVATE_KEY: T.Optional(T.String()),
10+
NFT_CONTRACT_ADDRESS: T.Optional(T.String()),
1111
});
1212

1313
export type Env = StaticDecode<typeof envSchema>;

tests/generate-erc721-permit.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ describe("generateErc721PermitSignature", () => {
119119

120120
it("should throw an error if NFT minter private key is not defined", async () => {
121121
delete process.env.NFT_MINTER_PRIVATE_KEY;
122-
await expect(generateErc721PermitSignature(context, "123", "contribution")).rejects.toThrow("Failed to" + " instantiate wallet");
122+
await expect(generateErc721PermitSignature(context, "123", "contribution")).rejects.toThrow("NFT minter" + " private key" + " is not defined");
123123
expect(context.logger.error).toHaveBeenCalled();
124124
});
125125

0 commit comments

Comments
 (0)