Skip to content

Commit eba8f1c

Browse files
fix: 721/1155 claimTo with custom currency (#2588)
1 parent 52f827e commit eba8f1c

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

.changeset/shy-singers-tap.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"thirdweb": patch
3+
---
4+
5+
Fix 721/1155 claimTo

packages/thirdweb/src/extensions/erc1155/drops/write/claimTo.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import type { BaseTransactionOptions } from "../../../../transaction/types.js";
33
import { prepareContractCall } from "../../../../transaction/prepare-contract-call.js";
44
import { getActiveClaimCondition } from "../read/getActiveClaimCondition.js";
55
import { padHex } from "../../../../utils/encoding/hex.js";
6+
import { NATIVE_TOKEN_ADDRESS } from "../../../../constants/addresses.js";
67

78
const CLAIM_ABI = {
89
inputs: [
@@ -129,7 +130,11 @@ export function claimTo(options: BaseTransactionOptions<ClaimToParams>) {
129130
contract: options.contract,
130131
tokenId: options.tokenId,
131132
});
132-
return cc.pricePerToken * BigInt(options.quantity);
133+
if (cc.currency === NATIVE_TOKEN_ADDRESS) {
134+
return cc.pricePerToken * BigInt(options.quantity);
135+
} else {
136+
return 0n;
137+
}
133138
},
134139
});
135140
}

packages/thirdweb/src/extensions/erc721/drops/write/claimTo.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import type { BaseTransactionOptions } from "../../../../transaction/types.js";
33
import { prepareContractCall } from "../../../../transaction/prepare-contract-call.js";
44
import { getActiveClaimCondition } from "../read/getActiveClaimCondition.js";
55
import { padHex } from "../../../../utils/encoding/hex.js";
6+
import { NATIVE_TOKEN_ADDRESS } from "../../../../constants/addresses.js";
67
/**
78
* Represents the parameters for claiming an ERC721 token.
89
*/
@@ -117,7 +118,11 @@ export function claimTo(options: BaseTransactionOptions<ClaimToParams>) {
117118
const cc = await getActiveClaimCondition({
118119
contract: options.contract,
119120
});
120-
return cc.pricePerToken * BigInt(options.quantity);
121+
if (cc.currency === NATIVE_TOKEN_ADDRESS) {
122+
return cc.pricePerToken * BigInt(options.quantity);
123+
} else {
124+
return 0n;
125+
}
121126
},
122127
});
123128
}

0 commit comments

Comments
 (0)