thirdweb 5.88.2-nightly-0a292138ca21b2d7375db6ff9ef07dc91cffc7fc-20250211122816 → 5.88.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/exports/extensions/erc1155.js +4 -2
- package/dist/cjs/exports/extensions/erc1155.js.map +1 -1
- package/dist/cjs/exports/extensions/erc20.js +3 -1
- package/dist/cjs/exports/extensions/erc20.js.map +1 -1
- package/dist/cjs/exports/extensions/erc721.js +4 -2
- package/dist/cjs/exports/extensions/erc721.js.map +1 -1
- package/dist/cjs/extensions/erc1155/__generated__/DropERC1155/read/verifyClaim.js +191 -0
- package/dist/cjs/extensions/erc1155/__generated__/DropERC1155/read/verifyClaim.js.map +1 -0
- package/dist/cjs/extensions/erc1155/drops/read/canClaim.js +45 -0
- package/dist/cjs/extensions/erc1155/drops/read/canClaim.js.map +1 -0
- package/dist/cjs/extensions/erc20/__generated__/DropERC20/read/verifyClaim.js +182 -0
- package/dist/cjs/extensions/erc20/__generated__/DropERC20/read/verifyClaim.js.map +1 -0
- package/dist/cjs/extensions/erc20/drops/read/canClaim.js +51 -0
- package/dist/cjs/extensions/erc20/drops/read/canClaim.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/DropERC721/read/verifyClaim.js +182 -0
- package/dist/cjs/extensions/erc721/__generated__/DropERC721/read/verifyClaim.js.map +1 -0
- package/dist/cjs/extensions/erc721/drops/read/canClaim.js +42 -0
- package/dist/cjs/extensions/erc721/drops/read/canClaim.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +12 -5
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js +6 -5
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.js +7 -3
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.js.map +1 -1
- package/dist/cjs/react/web/utils/errors.js +6 -1
- package/dist/cjs/react/web/utils/errors.js.map +1 -1
- package/dist/cjs/transaction/extract-error.js +11 -4
- package/dist/cjs/transaction/extract-error.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/exports/extensions/erc1155.js +1 -0
- package/dist/esm/exports/extensions/erc1155.js.map +1 -1
- package/dist/esm/exports/extensions/erc20.js +1 -0
- package/dist/esm/exports/extensions/erc20.js.map +1 -1
- package/dist/esm/exports/extensions/erc721.js +1 -0
- package/dist/esm/exports/extensions/erc721.js.map +1 -1
- package/dist/esm/extensions/erc1155/__generated__/DropERC1155/read/verifyClaim.js +183 -0
- package/dist/esm/extensions/erc1155/__generated__/DropERC1155/read/verifyClaim.js.map +1 -0
- package/dist/esm/extensions/erc1155/drops/read/canClaim.js +42 -0
- package/dist/esm/extensions/erc1155/drops/read/canClaim.js.map +1 -0
- package/dist/esm/extensions/erc20/__generated__/DropERC20/read/verifyClaim.js +174 -0
- package/dist/esm/extensions/erc20/__generated__/DropERC20/read/verifyClaim.js.map +1 -0
- package/dist/esm/extensions/erc20/drops/read/canClaim.js +48 -0
- package/dist/esm/extensions/erc20/drops/read/canClaim.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/DropERC721/read/verifyClaim.js +174 -0
- package/dist/esm/extensions/erc721/__generated__/DropERC721/read/verifyClaim.js.map +1 -0
- package/dist/esm/extensions/erc721/drops/read/canClaim.js +39 -0
- package/dist/esm/extensions/erc721/drops/read/canClaim.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +12 -5
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js +6 -5
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.js +7 -3
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.js.map +1 -1
- package/dist/esm/react/web/utils/errors.js +6 -1
- package/dist/esm/react/web/utils/errors.js.map +1 -1
- package/dist/esm/transaction/extract-error.js +11 -5
- package/dist/esm/transaction/extract-error.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/types/exports/extensions/erc1155.d.ts +1 -0
- package/dist/types/exports/extensions/erc1155.d.ts.map +1 -1
- package/dist/types/exports/extensions/erc20.d.ts +1 -0
- package/dist/types/exports/extensions/erc20.d.ts.map +1 -1
- package/dist/types/exports/extensions/erc721.d.ts +1 -0
- package/dist/types/exports/extensions/erc721.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/__generated__/DropERC1155/read/verifyClaim.d.ts +143 -0
- package/dist/types/extensions/erc1155/__generated__/DropERC1155/read/verifyClaim.d.ts.map +1 -0
- package/dist/types/extensions/erc1155/drops/read/canClaim.d.ts +13 -0
- package/dist/types/extensions/erc1155/drops/read/canClaim.d.ts.map +1 -0
- package/dist/types/extensions/erc20/__generated__/DropERC20/read/verifyClaim.d.ts +136 -0
- package/dist/types/extensions/erc20/__generated__/DropERC20/read/verifyClaim.d.ts.map +1 -0
- package/dist/types/extensions/erc20/drops/read/canClaim.d.ts +15 -0
- package/dist/types/extensions/erc20/drops/read/canClaim.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/DropERC721/read/verifyClaim.d.ts +136 -0
- package/dist/types/extensions/erc721/__generated__/DropERC721/read/verifyClaim.d.ts.map +1 -0
- package/dist/types/extensions/erc721/drops/read/canClaim.d.ts +12 -0
- package/dist/types/extensions/erc721/drops/read/canClaim.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.d.ts.map +1 -1
- package/dist/types/react/web/utils/errors.d.ts.map +1 -1
- package/dist/types/transaction/extract-error.d.ts +4 -0
- package/dist/types/transaction/extract-error.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/exports/extensions/erc1155.ts +5 -0
- package/src/exports/extensions/erc20.ts +5 -0
- package/src/exports/extensions/erc721.ts +5 -0
- package/src/extensions/erc1155/__generated__/DropERC1155/read/verifyClaim.ts +223 -0
- package/src/extensions/erc1155/drop1155.test.ts +42 -0
- package/src/extensions/erc1155/drops/read/canClaim.ts +57 -0
- package/src/extensions/erc20/__generated__/DropERC20/read/verifyClaim.ts +213 -0
- package/src/extensions/erc20/drop20.test.ts +38 -0
- package/src/extensions/erc20/drops/read/canClaim.ts +65 -0
- package/src/extensions/erc721/__generated__/DropERC721/read/verifyClaim.ts +213 -0
- package/src/extensions/erc721/drop721.test.ts +39 -0
- package/src/extensions/erc721/drops/read/canClaim.ts +53 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +16 -3
- package/src/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.tsx +27 -20
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.tsx +1 -2
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.tsx +28 -16
- package/src/react/web/utils/errors.ts +6 -1
- package/src/transaction/actions/gasless/providers/engine.test.ts +1 -1
- package/src/transaction/actions/gasless/providers/openzeppelin.test.ts +1 -1
- package/src/transaction/extract-error.ts +15 -13
- package/src/version.ts +1 -1
@@ -1,15 +1,23 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.extractError = extractError;
|
4
|
+
exports.extractErrorResult = extractErrorResult;
|
4
5
|
const viem_1 = require("viem");
|
5
6
|
const resolve_abi_js_1 = require("../contract/actions/resolve-abi.js");
|
6
7
|
const hex_js_1 = require("../utils/encoding/hex.js");
|
7
|
-
const json_js_1 = require("../utils/json.js");
|
8
8
|
const process_js_1 = require("../utils/process.js");
|
9
9
|
/**
|
10
10
|
* @internal
|
11
11
|
*/
|
12
12
|
async function extractError(args) {
|
13
|
+
const { error, contract } = args;
|
14
|
+
const result = await extractErrorResult({ error, contract });
|
15
|
+
if (result) {
|
16
|
+
return new TransactionError(result, contract);
|
17
|
+
}
|
18
|
+
return error;
|
19
|
+
}
|
20
|
+
async function extractErrorResult(args) {
|
13
21
|
const { error, contract } = args;
|
14
22
|
if (typeof error === "object") {
|
15
23
|
// try to parse RPC error
|
@@ -24,12 +32,11 @@ async function extractError(args) {
|
|
24
32
|
data: errorObj.data,
|
25
33
|
abi,
|
26
34
|
});
|
27
|
-
return
|
35
|
+
return `${parsedError.errorName}${parsedError.args ? ` - ${parsedError.args}` : ""}`;
|
28
36
|
}
|
29
|
-
return new TransactionError(`Execution Reverted: ${(0, json_js_1.stringify)(errorObj)}`, contract);
|
30
37
|
}
|
31
38
|
}
|
32
|
-
return error
|
39
|
+
return `Execution Reverted: ${(0, viem_1.stringify)(error)}`;
|
33
40
|
}
|
34
41
|
class TransactionError extends Error {
|
35
42
|
constructor(reason, contract) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"extract-error.js","sourceRoot":"","sources":["../../../src/transaction/extract-error.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"extract-error.js","sourceRoot":"","sources":["../../../src/transaction/extract-error.ts"],"names":[],"mappings":";;AAUA,oCAUC;AAED,gDA2BC;AAhDD,+BAA8D;AAC9D,uEAAwE;AAExE,qDAAiD;AACjD,oDAA6C;AAE7C;;GAEG;AACI,KAAK,UAAU,YAAY,CAAkB,IAGnD;IACC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,IAAI,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAkB,IAGzD;IACC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,yBAAyB;QACzB,MAAM,QAAQ,GAAG,KAIhB,CAAC;QACF,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,IAAI,IAAA,cAAK,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,CAAC;gBACxB,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;oBACrB,GAAG,GAAG,MAAM,IAAA,mCAAkB,EAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM,WAAW,GAAG,IAAA,wBAAiB,EAAC;oBACpC,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,GAAG;iBACJ,CAAC,CAAC;gBACH,OAAO,GAAG,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACvF,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,uBAAuB,IAAA,gBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,gBAAkC,SAAQ,KAAK;IAInD,YAAY,MAAc,EAAE,QAAgC;QAC1D,IAAI,OAAO,GAAG,MAAM,CAAC;QACrB,IAAI,mBAAM,IAAI,QAAQ,EAAE,CAAC;YACvB,yBAAyB;YACzB,OAAO,GAAG;gBACR,MAAM;gBACN,EAAE;gBACF,aAAa,QAAQ,CAAC,OAAO,EAAE;gBAC/B,YAAY,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE;aACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAdV;;;;;WAAoC;QACpC;;;;;WAA4B;QAcjC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,QAAQ,EAAE,OAAO,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
|
package/dist/cjs/version.js
CHANGED
package/dist/cjs/version.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,QAAQ,CAAC"}
|
@@ -31,6 +31,7 @@ export { freezeMetadata } from "../../extensions/erc1155/__generated__/INFTMetad
|
|
31
31
|
export { getActiveClaimCondition, isGetActiveClaimConditionSupported, } from "../../extensions/erc1155/drops/read/getActiveClaimCondition.js";
|
32
32
|
export { getClaimConditionById, isGetClaimConditionByIdSupported, } from "../../extensions/erc1155/__generated__/IDrop1155/read/getClaimConditionById.js";
|
33
33
|
export { getClaimConditions, isGetClaimConditionsSupported, } from "../../extensions/erc1155/drops/read/getClaimConditions.js";
|
34
|
+
export { canClaim, } from "../../extensions/erc1155/drops/read/canClaim.js";
|
34
35
|
// WRITE
|
35
36
|
export { claimTo, isClaimToSupported, } from "../../extensions/erc1155/drops/write/claimTo.js";
|
36
37
|
export { lazyMint, isLazyMintSupported, } from "../../extensions/erc1155/write/lazyMint.js";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"erc1155.js","sourceRoot":"","sources":["../../../../src/exports/extensions/erc1155.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EACL,cAAc,GAEf,MAAM,wEAAwE,CAAC;AAChF,OAAO,EACL,MAAM,EACN,iBAAiB,GAElB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,OAAO,EAEP,kBAAkB,GACnB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,YAAY,GAEb,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,qFAAqF,CAAC;AAC7F,OAAO,EACL,gBAAgB,GAEjB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EACL,GAAG;AACH;;GAEG;AACH,GAAG,IAAI,QAAQ,GAEhB,MAAM,6DAA6D,CAAC;AACrE,OAAO,EACL,WAAW,EAEX,sBAAsB,GACvB,MAAM,qEAAqE,CAAC;AAC7E,OAAO,EACL,SAAS,GAEV,MAAM,mEAAmE,CAAC;AAC3E,OAAO,EACL,gBAAgB,GAEjB,MAAM,0EAA0E,CAAC;AAElF,OAAO;AAEP,OAAO,EACL,IAAI,EAEJ,eAAe,GAChB,MAAM,uEAAuE,CAAC;AAC/E,OAAO,EACL,SAAS,GAEV,MAAM,4EAA4E,CAAC;AACpF,OAAO,EACL,iBAAiB,GAElB,MAAM,4EAA4E,CAAC;AACpF,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GAEvB,MAAM,2EAA2E,CAAC;AACnF,OAAO,EACL,qBAAqB,GAEtB,MAAM,gFAAgF,CAAC;AACxF,OAAO,EACL,MAAM,EAEN,iBAAiB,GAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,sBAAsB,EAEtB,iCAAiC,GAClC,MAAM,0DAA0D,CAAC;AAClE,OAAO,EACL,WAAW,GAEZ,MAAM,0EAA0E,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,6EAA6E,CAAC;AAE7G;;GAEG;AACH,OAAO;AACP,OAAO,EACL,uBAAuB,EACvB,kCAAkC,GAEnC,MAAM,gEAAgE,CAAC;AACxE,OAAO,EACL,qBAAqB,EAErB,gCAAgC,GACjC,MAAM,gFAAgF,CAAC;AACxF,OAAO,EACL,kBAAkB,EAElB,6BAA6B,GAC9B,MAAM,2DAA2D,CAAC;
|
1
|
+
{"version":3,"file":"erc1155.js","sourceRoot":"","sources":["../../../../src/exports/extensions/erc1155.ts"],"names":[],"mappings":"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"}
|
@@ -23,6 +23,7 @@ export { getClaimConditionById, isGetClaimConditionByIdSupported, } from "../../
|
|
23
23
|
export { getActiveClaimConditionId, isGetActiveClaimConditionIdSupported, } from "../../extensions/erc20/__generated__/IDropERC20/read/getActiveClaimConditionId.js";
|
24
24
|
export { getClaimConditions, isGetClaimConditionsSupported, } from "../../extensions/erc20/drops/read/getClaimConditions.js";
|
25
25
|
export { getActiveClaimCondition, isGetActiveClaimConditionSupported, } from "../../extensions/erc20/drops/read/getActiveClaimCondition.js";
|
26
|
+
export { canClaim, } from "../../extensions/erc20/drops/read/canClaim.js";
|
26
27
|
// WRITE
|
27
28
|
export { claimTo, isClaimToSupported, } from "../../extensions/erc20/drops/write/claimTo.js";
|
28
29
|
export { setClaimConditions, isSetClaimConditionsSupported, } from "../../extensions/erc20/drops/write/setClaimConditions.js";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../../src/exports/extensions/erc20.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjE,OAAO,EACL,UAAU,GAGX,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,SAAS,GAEV,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EACL,SAAS,GAEV,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,iEAAiE,CAAC;AAC9F,OAAO,EACL,SAAS,GAEV,MAAM,+DAA+D,CAAC;AACvE,OAAO,EACL,mBAAmB,GAEpB,MAAM,oDAAoD,CAAC;AAE5D,QAAQ;AACR,OAAO,EACL,iBAAiB,EACjB,MAAM,GAEP,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,QAAQ,GAET,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,YAAY,GAEb,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,aAAa,GAEd,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,OAAO,GAER,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,IAAI,GAEL,MAAM,mEAAmE,CAAC;AAC3E,OAAO,EACL,QAAQ,GAET,MAAM,uEAAuE,CAAC;AAE/E;;GAEG;AACH,OAAO;AACP,OAAO,EACL,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,+EAA+E,CAAC;AACvF,OAAO,EACL,yBAAyB,EACzB,oCAAoC,GACrC,MAAM,mFAAmF,CAAC;AAC3F,OAAO,EACL,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,yDAAyD,CAAC;AACjE,OAAO,EACL,uBAAuB,EACvB,kCAAkC,GACnC,MAAM,8DAA8D,CAAC;
|
1
|
+
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../../src/exports/extensions/erc20.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjE,OAAO,EACL,UAAU,GAGX,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,SAAS,GAEV,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EACL,SAAS,GAEV,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,iEAAiE,CAAC;AAC9F,OAAO,EACL,SAAS,GAEV,MAAM,+DAA+D,CAAC;AACvE,OAAO,EACL,mBAAmB,GAEpB,MAAM,oDAAoD,CAAC;AAE5D,QAAQ;AACR,OAAO,EACL,iBAAiB,EACjB,MAAM,GAEP,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,QAAQ,GAET,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,YAAY,GAEb,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,aAAa,GAEd,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,OAAO,GAER,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,IAAI,GAEL,MAAM,mEAAmE,CAAC;AAC3E,OAAO,EACL,QAAQ,GAET,MAAM,uEAAuE,CAAC;AAE/E;;GAEG;AACH,OAAO;AACP,OAAO,EACL,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,+EAA+E,CAAC;AACvF,OAAO,EACL,yBAAyB,EACzB,oCAAoC,GACrC,MAAM,mFAAmF,CAAC;AAC3F,OAAO,EACL,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,yDAAyD,CAAC;AACjE,OAAO,EACL,uBAAuB,EACvB,kCAAkC,GACnC,MAAM,8DAA8D,CAAC;AACtE,OAAO,EACL,QAAQ,GAGT,MAAM,+CAA+C,CAAC;AAEvD,QAAQ;AACR,OAAO,EACL,OAAO,EAEP,kBAAkB,GACnB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,kBAAkB,EAElB,6BAA6B,GAC9B,MAAM,0DAA0D,CAAC;AAClE,OAAO,EACL,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,6DAA6D,CAAC;AAErE;;GAEG;AACH,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,yCAAyC,CAAC;AAEjD,+BAA+B;AAC/B,OAAO;AACP,+BAA+B;AAC/B,OAAO,EACL,OAAO,GAER,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,QAAQ,GAET,MAAM,8DAA8D,CAAC;AAEtE,SAAS;AACT,OAAO,EACL,aAAa,GAEd,MAAM,gEAAgE,CAAC;AACxE,OAAO,EACL,aAAa,GAEd,MAAM,gEAAgE,CAAC;AACxE,OAAO,EACL,iBAAiB,GAElB,MAAM,4EAA4E,CAAC;AACpF,OAAO,EACL,kBAAkB,GAEnB,MAAM,yEAAyE,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kFAAkF,CAAC;AAC/H,OAAO,EACL,8BAA8B,GAE/B,MAAM,8FAA8F,CAAC;AAEtG,OAAO,EACL,yBAAyB,GAE1B,MAAM,2DAA2D,CAAC;AACnE,OAAO,EACL,QAAQ,GAET,MAAM,+DAA+D,CAAC"}
|
@@ -35,6 +35,7 @@ export { getClaimConditionById, isGetClaimConditionByIdSupported, } from "../../
|
|
35
35
|
export { getActiveClaimConditionId, isGetActiveClaimConditionIdSupported, } from "../../extensions/erc721/__generated__/IDrop/read/getActiveClaimConditionId.js";
|
36
36
|
export { getClaimConditions, isGetClaimConditionsSupported, } from "../../extensions/erc721/drops/read/getClaimConditions.js";
|
37
37
|
export { getActiveClaimCondition, isGetActiveClaimConditionSupported, } from "../../extensions/erc721/drops/read/getActiveClaimCondition.js";
|
38
|
+
export { canClaim, } from "../../extensions/erc721/drops/read/canClaim.js";
|
38
39
|
// WRITE
|
39
40
|
export { claimTo, isClaimToSupported, } from "../../extensions/erc721/drops/write/claimTo.js";
|
40
41
|
export { lazyMint, isLazyMintSupported, } from "../../extensions/erc721/write/lazyMint.js";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"erc721.js","sourceRoot":"","sources":["../../../../src/exports/extensions/erc721.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,EACL,MAAM,EAEN,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,OAAO,EAEP,kBAAkB,GACnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,mFAAmF,CAAC;AAC3F,OAAO,EACL,OAAO,GAER,MAAM,gEAAgE,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,qEAAqE,CAAC;AACnG,OAAO,EACL,QAAQ,GAET,MAAM,iEAAiE,CAAC;AACzE,OAAO,EACL,WAAW,EACX,sBAAsB,GACvB,MAAM,oEAAoE,CAAC;AAC5E,OAAO,EACL,SAAS,GAEV,MAAM,kEAAkE,CAAC;AAC1E,OAAO,EACL,mBAAmB,GAEpB,MAAM,qFAAqF,CAAC;AAC7F,OAAO,EACL,aAAa,GAEd,MAAM,+EAA+E,CAAC;AACvF,OAAO,EACL,YAAY,GAEb,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,gBAAgB,GAEjB,MAAM,yEAAyE,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EACL,gBAAgB,GAEjB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACL,YAAY,GAEb,MAAM,8CAA8C,CAAC;AACtD;;GAEG;AACH,OAAO,EACL,MAAM,EAEN,iBAAiB,GAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,YAAY,GAEb,MAAM,sEAAsE,CAAC;AAC9E,OAAO,EACL,IAAI,EAEJ,eAAe,GAChB,MAAM,qEAAqE,CAAC;AAC7E,OAAO,EACL,iBAAiB,GAElB,MAAM,2EAA2E,CAAC;AACnF,OAAO,EACL,OAAO,GAER,MAAM,iEAAiE,CAAC;AACzE,OAAO,EACL,WAAW,GAEZ,MAAM,yEAAyE,CAAC;AAEjF;;GAEG;AACH,OAAO;AACP,OAAO,EACL,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,2EAA2E,CAAC;AACnF,OAAO,EACL,yBAAyB,EACzB,oCAAoC,GACrC,MAAM,+EAA+E,CAAC;AACvF,OAAO,EACL,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,0DAA0D,CAAC;AAClE,OAAO,EACL,uBAAuB,EACvB,kCAAkC,GACnC,MAAM,+DAA+D,CAAC;
|
1
|
+
{"version":3,"file":"erc721.js","sourceRoot":"","sources":["../../../../src/exports/extensions/erc721.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,183 @@
|
|
1
|
+
import { readContract } from "../../../../../transaction/read-contract.js";
|
2
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
3
|
+
import { decodeAbiParameters } from "viem";
|
4
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
5
|
+
export const FN_SELECTOR = "0xea1def9c";
|
6
|
+
const FN_INPUTS = [
|
7
|
+
{
|
8
|
+
type: "uint256",
|
9
|
+
name: "_conditionId",
|
10
|
+
},
|
11
|
+
{
|
12
|
+
type: "address",
|
13
|
+
name: "_claimer",
|
14
|
+
},
|
15
|
+
{
|
16
|
+
type: "uint256",
|
17
|
+
name: "_tokenId",
|
18
|
+
},
|
19
|
+
{
|
20
|
+
type: "uint256",
|
21
|
+
name: "_quantity",
|
22
|
+
},
|
23
|
+
{
|
24
|
+
type: "address",
|
25
|
+
name: "_currency",
|
26
|
+
},
|
27
|
+
{
|
28
|
+
type: "uint256",
|
29
|
+
name: "_pricePerToken",
|
30
|
+
},
|
31
|
+
{
|
32
|
+
type: "tuple",
|
33
|
+
name: "_allowlistProof",
|
34
|
+
components: [
|
35
|
+
{
|
36
|
+
type: "bytes32[]",
|
37
|
+
name: "proof",
|
38
|
+
},
|
39
|
+
{
|
40
|
+
type: "uint256",
|
41
|
+
name: "quantityLimitPerWallet",
|
42
|
+
},
|
43
|
+
{
|
44
|
+
type: "uint256",
|
45
|
+
name: "pricePerToken",
|
46
|
+
},
|
47
|
+
{
|
48
|
+
type: "address",
|
49
|
+
name: "currency",
|
50
|
+
},
|
51
|
+
],
|
52
|
+
},
|
53
|
+
];
|
54
|
+
const FN_OUTPUTS = [
|
55
|
+
{
|
56
|
+
type: "bool",
|
57
|
+
name: "isOverride",
|
58
|
+
},
|
59
|
+
];
|
60
|
+
/**
|
61
|
+
* Checks if the `verifyClaim` method is supported by the given contract.
|
62
|
+
* @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
|
63
|
+
* @returns A boolean indicating if the `verifyClaim` method is supported.
|
64
|
+
* @extension ERC1155
|
65
|
+
* @example
|
66
|
+
* ```ts
|
67
|
+
* import { isVerifyClaimSupported } from "thirdweb/extensions/erc1155";
|
68
|
+
* const supported = isVerifyClaimSupported(["0x..."]);
|
69
|
+
* ```
|
70
|
+
*/
|
71
|
+
export function isVerifyClaimSupported(availableSelectors) {
|
72
|
+
return detectMethod({
|
73
|
+
availableSelectors,
|
74
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
75
|
+
});
|
76
|
+
}
|
77
|
+
/**
|
78
|
+
* Encodes the parameters for the "verifyClaim" function.
|
79
|
+
* @param options - The options for the verifyClaim function.
|
80
|
+
* @returns The encoded ABI parameters.
|
81
|
+
* @extension ERC1155
|
82
|
+
* @example
|
83
|
+
* ```ts
|
84
|
+
* import { encodeVerifyClaimParams } from "thirdweb/extensions/erc1155";
|
85
|
+
* const result = encodeVerifyClaimParams({
|
86
|
+
* conditionId: ...,
|
87
|
+
* claimer: ...,
|
88
|
+
* tokenId: ...,
|
89
|
+
* quantity: ...,
|
90
|
+
* currency: ...,
|
91
|
+
* pricePerToken: ...,
|
92
|
+
* allowlistProof: ...,
|
93
|
+
* });
|
94
|
+
* ```
|
95
|
+
*/
|
96
|
+
export function encodeVerifyClaimParams(options) {
|
97
|
+
return encodeAbiParameters(FN_INPUTS, [
|
98
|
+
options.conditionId,
|
99
|
+
options.claimer,
|
100
|
+
options.tokenId,
|
101
|
+
options.quantity,
|
102
|
+
options.currency,
|
103
|
+
options.pricePerToken,
|
104
|
+
options.allowlistProof,
|
105
|
+
]);
|
106
|
+
}
|
107
|
+
/**
|
108
|
+
* Encodes the "verifyClaim" function into a Hex string with its parameters.
|
109
|
+
* @param options - The options for the verifyClaim function.
|
110
|
+
* @returns The encoded hexadecimal string.
|
111
|
+
* @extension ERC1155
|
112
|
+
* @example
|
113
|
+
* ```ts
|
114
|
+
* import { encodeVerifyClaim } from "thirdweb/extensions/erc1155";
|
115
|
+
* const result = encodeVerifyClaim({
|
116
|
+
* conditionId: ...,
|
117
|
+
* claimer: ...,
|
118
|
+
* tokenId: ...,
|
119
|
+
* quantity: ...,
|
120
|
+
* currency: ...,
|
121
|
+
* pricePerToken: ...,
|
122
|
+
* allowlistProof: ...,
|
123
|
+
* });
|
124
|
+
* ```
|
125
|
+
*/
|
126
|
+
export function encodeVerifyClaim(options) {
|
127
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
128
|
+
// we can do this because we know the specific formats of the values
|
129
|
+
return (FN_SELECTOR +
|
130
|
+
encodeVerifyClaimParams(options).slice(2));
|
131
|
+
}
|
132
|
+
/**
|
133
|
+
* Decodes the result of the verifyClaim function call.
|
134
|
+
* @param result - The hexadecimal result to decode.
|
135
|
+
* @returns The decoded result as per the FN_OUTPUTS definition.
|
136
|
+
* @extension ERC1155
|
137
|
+
* @example
|
138
|
+
* ```ts
|
139
|
+
* import { decodeVerifyClaimResult } from "thirdweb/extensions/erc1155";
|
140
|
+
* const result = decodeVerifyClaimResultResult("...");
|
141
|
+
* ```
|
142
|
+
*/
|
143
|
+
export function decodeVerifyClaimResult(result) {
|
144
|
+
return decodeAbiParameters(FN_OUTPUTS, result)[0];
|
145
|
+
}
|
146
|
+
/**
|
147
|
+
* Calls the "verifyClaim" function on the contract.
|
148
|
+
* @param options - The options for the verifyClaim function.
|
149
|
+
* @returns The parsed result of the function call.
|
150
|
+
* @extension ERC1155
|
151
|
+
* @example
|
152
|
+
* ```ts
|
153
|
+
* import { verifyClaim } from "thirdweb/extensions/erc1155";
|
154
|
+
*
|
155
|
+
* const result = await verifyClaim({
|
156
|
+
* contract,
|
157
|
+
* conditionId: ...,
|
158
|
+
* claimer: ...,
|
159
|
+
* tokenId: ...,
|
160
|
+
* quantity: ...,
|
161
|
+
* currency: ...,
|
162
|
+
* pricePerToken: ...,
|
163
|
+
* allowlistProof: ...,
|
164
|
+
* });
|
165
|
+
*
|
166
|
+
* ```
|
167
|
+
*/
|
168
|
+
export async function verifyClaim(options) {
|
169
|
+
return readContract({
|
170
|
+
contract: options.contract,
|
171
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
172
|
+
params: [
|
173
|
+
options.conditionId,
|
174
|
+
options.claimer,
|
175
|
+
options.tokenId,
|
176
|
+
options.quantity,
|
177
|
+
options.currency,
|
178
|
+
options.pricePerToken,
|
179
|
+
options.allowlistProof,
|
180
|
+
],
|
181
|
+
});
|
182
|
+
}
|
183
|
+
//# sourceMappingURL=verifyClaim.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verifyClaim.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc1155/__generated__/DropERC1155/read/verifyClaim.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { extractErrorResult } from "../../../../transaction/extract-error.js";
|
2
|
+
import { getClaimParams } from "../../../../utils/extensions/drops/get-claim-params.js";
|
3
|
+
import { verifyClaim } from "../../__generated__/DropERC1155/read/verifyClaim.js";
|
4
|
+
import { getActiveClaimConditionId } from "../../__generated__/IDrop1155/read/getActiveClaimConditionId.js";
|
5
|
+
export async function canClaim(options) {
|
6
|
+
const [conditionId, { quantity, currency, pricePerToken, allowlistProof }] = await Promise.all([
|
7
|
+
getActiveClaimConditionId({
|
8
|
+
contract: options.contract,
|
9
|
+
tokenId: options.tokenId,
|
10
|
+
}),
|
11
|
+
getClaimParams({
|
12
|
+
contract: options.contract,
|
13
|
+
quantity: options.quantity,
|
14
|
+
to: options.claimer,
|
15
|
+
type: "erc1155",
|
16
|
+
tokenId: options.tokenId,
|
17
|
+
from: options.from,
|
18
|
+
}),
|
19
|
+
]);
|
20
|
+
try {
|
21
|
+
await verifyClaim({
|
22
|
+
contract: options.contract,
|
23
|
+
claimer: options.claimer,
|
24
|
+
quantity,
|
25
|
+
currency,
|
26
|
+
pricePerToken,
|
27
|
+
allowlistProof,
|
28
|
+
conditionId,
|
29
|
+
tokenId: options.tokenId,
|
30
|
+
});
|
31
|
+
return {
|
32
|
+
result: true,
|
33
|
+
};
|
34
|
+
}
|
35
|
+
catch (error) {
|
36
|
+
return {
|
37
|
+
result: false,
|
38
|
+
reason: await extractErrorResult({ error, contract: options.contract }),
|
39
|
+
};
|
40
|
+
}
|
41
|
+
}
|
42
|
+
//# sourceMappingURL=canClaim.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"canClaim.js","sourceRoot":"","sources":["../../../../../../src/extensions/erc1155/drops/read/canClaim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iEAAiE,CAAC;AAc5G,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAA+C;IAE/C,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC,GACxE,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,yBAAyB,CAAC;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QACF,cAAc,CAAC;YACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,EAAE,EAAE,OAAO,CAAC,OAAO;YACnB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;KACH,CAAC,CAAC;IACL,IAAI,CAAC;QACH,MAAM,WAAW,CAAC;YAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ;YACR,QAAQ;YACR,aAAa;YACb,cAAc;YACd,WAAW;YACX,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;SACxE,CAAC;IACJ,CAAC;AACH,CAAC"}
|
@@ -0,0 +1,174 @@
|
|
1
|
+
import { readContract } from "../../../../../transaction/read-contract.js";
|
2
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
3
|
+
import { decodeAbiParameters } from "viem";
|
4
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
5
|
+
export const FN_SELECTOR = "0x23a2902b";
|
6
|
+
const FN_INPUTS = [
|
7
|
+
{
|
8
|
+
type: "uint256",
|
9
|
+
name: "_conditionId",
|
10
|
+
},
|
11
|
+
{
|
12
|
+
type: "address",
|
13
|
+
name: "_claimer",
|
14
|
+
},
|
15
|
+
{
|
16
|
+
type: "uint256",
|
17
|
+
name: "_quantity",
|
18
|
+
},
|
19
|
+
{
|
20
|
+
type: "address",
|
21
|
+
name: "_currency",
|
22
|
+
},
|
23
|
+
{
|
24
|
+
type: "uint256",
|
25
|
+
name: "_pricePerToken",
|
26
|
+
},
|
27
|
+
{
|
28
|
+
type: "tuple",
|
29
|
+
name: "_allowlistProof",
|
30
|
+
components: [
|
31
|
+
{
|
32
|
+
type: "bytes32[]",
|
33
|
+
name: "proof",
|
34
|
+
},
|
35
|
+
{
|
36
|
+
type: "uint256",
|
37
|
+
name: "quantityLimitPerWallet",
|
38
|
+
},
|
39
|
+
{
|
40
|
+
type: "uint256",
|
41
|
+
name: "pricePerToken",
|
42
|
+
},
|
43
|
+
{
|
44
|
+
type: "address",
|
45
|
+
name: "currency",
|
46
|
+
},
|
47
|
+
],
|
48
|
+
},
|
49
|
+
];
|
50
|
+
const FN_OUTPUTS = [
|
51
|
+
{
|
52
|
+
type: "bool",
|
53
|
+
name: "isOverride",
|
54
|
+
},
|
55
|
+
];
|
56
|
+
/**
|
57
|
+
* Checks if the `verifyClaim` method is supported by the given contract.
|
58
|
+
* @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
|
59
|
+
* @returns A boolean indicating if the `verifyClaim` method is supported.
|
60
|
+
* @extension ERC20
|
61
|
+
* @example
|
62
|
+
* ```ts
|
63
|
+
* import { isVerifyClaimSupported } from "thirdweb/extensions/erc20";
|
64
|
+
* const supported = isVerifyClaimSupported(["0x..."]);
|
65
|
+
* ```
|
66
|
+
*/
|
67
|
+
export function isVerifyClaimSupported(availableSelectors) {
|
68
|
+
return detectMethod({
|
69
|
+
availableSelectors,
|
70
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
71
|
+
});
|
72
|
+
}
|
73
|
+
/**
|
74
|
+
* Encodes the parameters for the "verifyClaim" function.
|
75
|
+
* @param options - The options for the verifyClaim function.
|
76
|
+
* @returns The encoded ABI parameters.
|
77
|
+
* @extension ERC20
|
78
|
+
* @example
|
79
|
+
* ```ts
|
80
|
+
* import { encodeVerifyClaimParams } from "thirdweb/extensions/erc20";
|
81
|
+
* const result = encodeVerifyClaimParams({
|
82
|
+
* conditionId: ...,
|
83
|
+
* claimer: ...,
|
84
|
+
* quantity: ...,
|
85
|
+
* currency: ...,
|
86
|
+
* pricePerToken: ...,
|
87
|
+
* allowlistProof: ...,
|
88
|
+
* });
|
89
|
+
* ```
|
90
|
+
*/
|
91
|
+
export function encodeVerifyClaimParams(options) {
|
92
|
+
return encodeAbiParameters(FN_INPUTS, [
|
93
|
+
options.conditionId,
|
94
|
+
options.claimer,
|
95
|
+
options.quantity,
|
96
|
+
options.currency,
|
97
|
+
options.pricePerToken,
|
98
|
+
options.allowlistProof,
|
99
|
+
]);
|
100
|
+
}
|
101
|
+
/**
|
102
|
+
* Encodes the "verifyClaim" function into a Hex string with its parameters.
|
103
|
+
* @param options - The options for the verifyClaim function.
|
104
|
+
* @returns The encoded hexadecimal string.
|
105
|
+
* @extension ERC20
|
106
|
+
* @example
|
107
|
+
* ```ts
|
108
|
+
* import { encodeVerifyClaim } from "thirdweb/extensions/erc20";
|
109
|
+
* const result = encodeVerifyClaim({
|
110
|
+
* conditionId: ...,
|
111
|
+
* claimer: ...,
|
112
|
+
* quantity: ...,
|
113
|
+
* currency: ...,
|
114
|
+
* pricePerToken: ...,
|
115
|
+
* allowlistProof: ...,
|
116
|
+
* });
|
117
|
+
* ```
|
118
|
+
*/
|
119
|
+
export function encodeVerifyClaim(options) {
|
120
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
121
|
+
// we can do this because we know the specific formats of the values
|
122
|
+
return (FN_SELECTOR +
|
123
|
+
encodeVerifyClaimParams(options).slice(2));
|
124
|
+
}
|
125
|
+
/**
|
126
|
+
* Decodes the result of the verifyClaim function call.
|
127
|
+
* @param result - The hexadecimal result to decode.
|
128
|
+
* @returns The decoded result as per the FN_OUTPUTS definition.
|
129
|
+
* @extension ERC20
|
130
|
+
* @example
|
131
|
+
* ```ts
|
132
|
+
* import { decodeVerifyClaimResult } from "thirdweb/extensions/erc20";
|
133
|
+
* const result = decodeVerifyClaimResultResult("...");
|
134
|
+
* ```
|
135
|
+
*/
|
136
|
+
export function decodeVerifyClaimResult(result) {
|
137
|
+
return decodeAbiParameters(FN_OUTPUTS, result)[0];
|
138
|
+
}
|
139
|
+
/**
|
140
|
+
* Calls the "verifyClaim" function on the contract.
|
141
|
+
* @param options - The options for the verifyClaim function.
|
142
|
+
* @returns The parsed result of the function call.
|
143
|
+
* @extension ERC20
|
144
|
+
* @example
|
145
|
+
* ```ts
|
146
|
+
* import { verifyClaim } from "thirdweb/extensions/erc20";
|
147
|
+
*
|
148
|
+
* const result = await verifyClaim({
|
149
|
+
* contract,
|
150
|
+
* conditionId: ...,
|
151
|
+
* claimer: ...,
|
152
|
+
* quantity: ...,
|
153
|
+
* currency: ...,
|
154
|
+
* pricePerToken: ...,
|
155
|
+
* allowlistProof: ...,
|
156
|
+
* });
|
157
|
+
*
|
158
|
+
* ```
|
159
|
+
*/
|
160
|
+
export async function verifyClaim(options) {
|
161
|
+
return readContract({
|
162
|
+
contract: options.contract,
|
163
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
164
|
+
params: [
|
165
|
+
options.conditionId,
|
166
|
+
options.claimer,
|
167
|
+
options.quantity,
|
168
|
+
options.currency,
|
169
|
+
options.pricePerToken,
|
170
|
+
options.allowlistProof,
|
171
|
+
],
|
172
|
+
});
|
173
|
+
}
|
174
|
+
//# sourceMappingURL=verifyClaim.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verifyClaim.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc20/__generated__/DropERC20/read/verifyClaim.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AA6BhF,MAAM,CAAC,MAAM,WAAW,GAAG,YAAqB,CAAC;AACjD,MAAM,SAAS,GAAG;IAChB;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,cAAc;KACrB;IACD;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU;KACjB;IACD;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW;KAClB;IACD;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW;KAClB;IACD;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,gBAAgB;KACvB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,wBAAwB;aAC/B;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,eAAe;aACtB;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,UAAU;aACjB;SACF;KACF;CACO,CAAC;AACX,MAAM,UAAU,GAAG;IACjB;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,YAAY;KACnB;CACO,CAAC;AAEX;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,kBAA4B;IACjE,OAAO,YAAY,CAAC;QAClB,kBAAkB;QAClB,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAU;KACtD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAA0B;IAChE,OAAO,mBAAmB,CAAC,SAAS,EAAE;QACpC,OAAO,CAAC,WAAW;QACnB,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,aAAa;QACrB,OAAO,CAAC,cAAc;KACvB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA0B;IAC1D,iFAAiF;IACjF,oEAAoE;IACpE,OAAO,CAAC,WAAW;QACjB,uBAAuB,CAAC,OAAO,CAAC,CAAC,KAAK,CACpC,CAAC,CACF,CAAqC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAW;IACjD,OAAO,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAkD;IAElD,OAAO,YAAY,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAU;QACrD,MAAM,EAAE;YACN,OAAO,CAAC,WAAW;YACnB,OAAO,CAAC,OAAO;YACf,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,aAAa;YACrB,OAAO,CAAC,cAAc;SACvB;KACF,CAAC,CAAC;AACL,CAAC"}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import { extractErrorResult } from "../../../../transaction/extract-error.js";
|
2
|
+
import { getClaimParams } from "../../../../utils/extensions/drops/get-claim-params.js";
|
3
|
+
import { verifyClaim } from "../../__generated__/DropERC20/read/verifyClaim.js";
|
4
|
+
import { getActiveClaimConditionId } from "../../__generated__/IDropERC20/read/getActiveClaimConditionId.js";
|
5
|
+
import { decimals } from "../../read/decimals.js";
|
6
|
+
export async function canClaim(options) {
|
7
|
+
const quantityWei = await (async () => {
|
8
|
+
if ("quantityInWei" in options) {
|
9
|
+
return options.quantityInWei;
|
10
|
+
}
|
11
|
+
const { toUnits } = await import("../../../../utils/units.js");
|
12
|
+
return toUnits(options.quantity, await decimals({ contract: options.contract }));
|
13
|
+
})();
|
14
|
+
const [conditionId, { quantity, currency, pricePerToken, allowlistProof }] = await Promise.all([
|
15
|
+
getActiveClaimConditionId({
|
16
|
+
contract: options.contract,
|
17
|
+
}),
|
18
|
+
getClaimParams({
|
19
|
+
contract: options.contract,
|
20
|
+
quantity: quantityWei,
|
21
|
+
to: options.claimer,
|
22
|
+
type: "erc20",
|
23
|
+
from: options.from,
|
24
|
+
tokenDecimals: await decimals({ contract: options.contract }),
|
25
|
+
}),
|
26
|
+
]);
|
27
|
+
try {
|
28
|
+
await verifyClaim({
|
29
|
+
contract: options.contract,
|
30
|
+
claimer: options.claimer,
|
31
|
+
quantity,
|
32
|
+
currency,
|
33
|
+
pricePerToken,
|
34
|
+
allowlistProof,
|
35
|
+
conditionId,
|
36
|
+
});
|
37
|
+
return {
|
38
|
+
result: true,
|
39
|
+
};
|
40
|
+
}
|
41
|
+
catch (error) {
|
42
|
+
return {
|
43
|
+
result: false,
|
44
|
+
reason: await extractErrorResult({ error, contract: options.contract }),
|
45
|
+
};
|
46
|
+
}
|
47
|
+
}
|
48
|
+
//# sourceMappingURL=canClaim.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"canClaim.js","sourceRoot":"","sources":["../../../../../../src/extensions/erc20/drops/read/canClaim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAC7G,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAYlD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAA+C;IAE/C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QACpC,IAAI,eAAe,IAAI,OAAO,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC,aAAa,CAAC;QAC/B,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAC/D,OAAO,OAAO,CACZ,OAAO,CAAC,QAAQ,EAChB,MAAM,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC/C,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC,GACxE,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,yBAAyB,CAAC;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QACF,cAAc,CAAC;YACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,WAAW;YACrB,EAAE,EAAE,OAAO,CAAC,OAAO;YACnB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,aAAa,EAAE,MAAM,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC9D,CAAC;KACH,CAAC,CAAC;IACL,IAAI,CAAC;QACH,MAAM,WAAW,CAAC;YAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ;YACR,QAAQ;YACR,aAAa;YACb,cAAc;YACd,WAAW;SACZ,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;SACxE,CAAC;IACJ,CAAC;AACH,CAAC"}
|