thirdweb 5.72.0-nightly-f64e0253d7de6fdb6f56ab49315cc4cdcdd75b20-20241127000345 → 5.72.0-nightly-e87eb2ff35eea1b94ab7bdae3585d819879ec53c-20241128000350
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/extensions/erc721/__generated__/LoyaltyCard/events/TokensMinted.js +32 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/events/TokensMinted.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/events/TokensMintedWithSignature.js +33 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/events/TokensMintedWithSignature.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/read/nextTokenIdToMint.js +70 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/read/nextTokenIdToMint.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/read/supportsInterface.js +114 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/read/supportsInterface.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/read/tokenURI.js +114 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/read/tokenURI.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/read/totalMinted.js +70 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/read/totalMinted.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/write/cancel.js +117 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/write/cancel.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/write/initialize.js +202 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/write/initialize.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/write/mintTo.js +129 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/write/mintTo.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/write/mintWithSignature.js +171 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/write/mintWithSignature.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/write/revoke.js +117 -0
- package/dist/cjs/extensions/erc721/__generated__/LoyaltyCard/write/revoke.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/events/TokensUnwrapped.js +33 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/events/TokensUnwrapped.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/events/TokensWrapped.js +33 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/events/TokensWrapped.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/read/contractType.js +70 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/read/contractType.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/read/contractVersion.js +70 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/read/contractVersion.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/read/getWrappedContents.js +133 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/read/getWrappedContents.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/read/nextTokenIdToMint.js +70 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/read/nextTokenIdToMint.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/read/supportsInterface.js +114 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/read/supportsInterface.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/read/tokenURI.js +114 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/read/tokenURI.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/write/initialize.js +175 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/write/initialize.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/write/unwrap.js +124 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/write/unwrap.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/write/wrap.js +162 -0
- package/dist/cjs/extensions/erc721/__generated__/Multiwrap/write/wrap.js.map +1 -0
- package/dist/cjs/extensions/prebuilts/deploy-erc721.js +21 -6
- package/dist/cjs/extensions/prebuilts/deploy-erc721.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/events/TokensMinted.js +29 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/events/TokensMinted.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/events/TokensMintedWithSignature.js +30 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/events/TokensMintedWithSignature.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/read/nextTokenIdToMint.js +64 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/read/nextTokenIdToMint.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/read/supportsInterface.js +106 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/read/supportsInterface.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/read/tokenURI.js +106 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/read/tokenURI.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/read/totalMinted.js +64 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/read/totalMinted.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/write/cancel.js +110 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/write/cancel.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/write/initialize.js +195 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/write/initialize.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/write/mintTo.js +122 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/write/mintTo.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/write/mintWithSignature.js +164 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/write/mintWithSignature.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/write/revoke.js +110 -0
- package/dist/esm/extensions/erc721/__generated__/LoyaltyCard/write/revoke.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/events/TokensUnwrapped.js +30 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/events/TokensUnwrapped.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/events/TokensWrapped.js +30 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/events/TokensWrapped.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/read/contractType.js +64 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/read/contractType.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/read/contractVersion.js +64 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/read/contractVersion.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/read/getWrappedContents.js +125 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/read/getWrappedContents.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/read/nextTokenIdToMint.js +64 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/read/nextTokenIdToMint.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/read/supportsInterface.js +106 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/read/supportsInterface.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/read/tokenURI.js +106 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/read/tokenURI.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/write/initialize.js +168 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/write/initialize.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/write/unwrap.js +117 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/write/unwrap.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/write/wrap.js +155 -0
- package/dist/esm/extensions/erc721/__generated__/Multiwrap/write/wrap.js.map +1 -0
- package/dist/esm/extensions/prebuilts/deploy-erc721.js +15 -0
- package/dist/esm/extensions/prebuilts/deploy-erc721.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/events/TokensMinted.d.ts +54 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/events/TokensMinted.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/events/TokensMintedWithSignature.d.ts +95 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/events/TokensMintedWithSignature.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/read/nextTokenIdToMint.d.ts +44 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/read/nextTokenIdToMint.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/read/supportsInterface.d.ts +83 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/read/supportsInterface.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/read/tokenURI.d.ts +83 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/read/tokenURI.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/read/totalMinted.d.ts +44 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/read/totalMinted.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/write/cancel.d.ts +79 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/write/cancel.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/write/initialize.d.ts +142 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/write/initialize.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/write/mintTo.d.ts +86 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/write/mintTo.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/write/mintWithSignature.d.ts +128 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/write/mintWithSignature.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/write/revoke.d.ts +79 -0
- package/dist/types/extensions/erc721/__generated__/LoyaltyCard/write/revoke.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/events/TokensUnwrapped.d.ts +61 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/events/TokensUnwrapped.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/events/TokensWrapped.d.ts +77 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/events/TokensWrapped.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/read/contractType.d.ts +44 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/read/contractType.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/read/contractVersion.d.ts +44 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/read/contractVersion.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/read/getWrappedContents.d.ts +93 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/read/getWrappedContents.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/read/nextTokenIdToMint.d.ts +44 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/read/nextTokenIdToMint.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/read/supportsInterface.d.ts +83 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/read/supportsInterface.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/read/tokenURI.d.ts +83 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/read/tokenURI.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/write/initialize.d.ts +121 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/write/initialize.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/write/unwrap.d.ts +86 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/write/unwrap.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/write/wrap.d.ts +111 -0
- package/dist/types/extensions/erc721/__generated__/Multiwrap/write/wrap.d.ts.map +1 -0
- package/dist/types/extensions/prebuilts/deploy-erc721.d.ts +1 -1
- package/dist/types/extensions/prebuilts/deploy-erc721.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/extensions/erc721/__generated__/LoyaltyCard/events/TokensMinted.ts +47 -0
- package/src/extensions/erc721/__generated__/LoyaltyCard/events/TokensMintedWithSignature.ts +55 -0
- package/src/extensions/erc721/__generated__/LoyaltyCard/read/nextTokenIdToMint.ts +70 -0
- package/src/extensions/erc721/__generated__/LoyaltyCard/read/supportsInterface.ts +130 -0
- package/src/extensions/erc721/__generated__/LoyaltyCard/read/tokenURI.ts +123 -0
- package/src/extensions/erc721/__generated__/LoyaltyCard/read/totalMinted.ts +70 -0
- package/src/extensions/erc721/__generated__/LoyaltyCard/write/cancel.ts +135 -0
- package/src/extensions/erc721/__generated__/LoyaltyCard/write/initialize.ts +255 -0
- package/src/extensions/erc721/__generated__/LoyaltyCard/write/mintTo.ts +148 -0
- package/src/extensions/erc721/__generated__/LoyaltyCard/write/mintWithSignature.ts +209 -0
- package/src/extensions/erc721/__generated__/LoyaltyCard/write/revoke.ts +135 -0
- package/src/extensions/erc721/__generated__/Multiwrap/events/TokensUnwrapped.ts +55 -0
- package/src/extensions/erc721/__generated__/Multiwrap/events/TokensWrapped.ts +53 -0
- package/src/extensions/erc721/__generated__/Multiwrap/read/contractType.ts +70 -0
- package/src/extensions/erc721/__generated__/Multiwrap/read/contractVersion.ts +70 -0
- package/src/extensions/erc721/__generated__/Multiwrap/read/getWrappedContents.ts +146 -0
- package/src/extensions/erc721/__generated__/Multiwrap/read/nextTokenIdToMint.ts +70 -0
- package/src/extensions/erc721/__generated__/Multiwrap/read/supportsInterface.ts +130 -0
- package/src/extensions/erc721/__generated__/Multiwrap/read/tokenURI.ts +123 -0
- package/src/extensions/erc721/__generated__/Multiwrap/write/initialize.ts +216 -0
- package/src/extensions/erc721/__generated__/Multiwrap/write/unwrap.ts +146 -0
- package/src/extensions/erc721/__generated__/Multiwrap/write/wrap.ts +197 -0
- package/src/extensions/prebuilts/deploy-erc721.test.ts +70 -2
- package/src/extensions/prebuilts/deploy-erc721.ts +17 -1
- package/src/version.ts +1 -1
@@ -0,0 +1,122 @@
|
|
1
|
+
import { prepareContractCall } from "../../../../../transaction/prepare-contract-call.js";
|
2
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
3
|
+
import { once } from "../../../../../utils/promise/once.js";
|
4
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
5
|
+
export const FN_SELECTOR = "0x0075a317";
|
6
|
+
const FN_INPUTS = [
|
7
|
+
{
|
8
|
+
type: "address",
|
9
|
+
name: "_to",
|
10
|
+
},
|
11
|
+
{
|
12
|
+
type: "string",
|
13
|
+
name: "_uri",
|
14
|
+
},
|
15
|
+
];
|
16
|
+
const FN_OUTPUTS = [
|
17
|
+
{
|
18
|
+
type: "uint256",
|
19
|
+
name: "tokenIdMinted",
|
20
|
+
},
|
21
|
+
];
|
22
|
+
/**
|
23
|
+
* Checks if the `mintTo` method is supported by the given contract.
|
24
|
+
* @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.
|
25
|
+
* @returns A boolean indicating if the `mintTo` method is supported.
|
26
|
+
* @extension ERC721
|
27
|
+
* @example
|
28
|
+
* ```ts
|
29
|
+
* import { isMintToSupported } from "thirdweb/extensions/erc721";
|
30
|
+
*
|
31
|
+
* const supported = isMintToSupported(["0x..."]);
|
32
|
+
* ```
|
33
|
+
*/
|
34
|
+
export function isMintToSupported(availableSelectors) {
|
35
|
+
return detectMethod({
|
36
|
+
availableSelectors,
|
37
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
38
|
+
});
|
39
|
+
}
|
40
|
+
/**
|
41
|
+
* Encodes the parameters for the "mintTo" function.
|
42
|
+
* @param options - The options for the mintTo function.
|
43
|
+
* @returns The encoded ABI parameters.
|
44
|
+
* @extension ERC721
|
45
|
+
* @example
|
46
|
+
* ```ts
|
47
|
+
* import { encodeMintToParams } from "thirdweb/extensions/erc721";
|
48
|
+
* const result = encodeMintToParams({
|
49
|
+
* to: ...,
|
50
|
+
* uri: ...,
|
51
|
+
* });
|
52
|
+
* ```
|
53
|
+
*/
|
54
|
+
export function encodeMintToParams(options) {
|
55
|
+
return encodeAbiParameters(FN_INPUTS, [options.to, options.uri]);
|
56
|
+
}
|
57
|
+
/**
|
58
|
+
* Encodes the "mintTo" function into a Hex string with its parameters.
|
59
|
+
* @param options - The options for the mintTo function.
|
60
|
+
* @returns The encoded hexadecimal string.
|
61
|
+
* @extension ERC721
|
62
|
+
* @example
|
63
|
+
* ```ts
|
64
|
+
* import { encodeMintTo } from "thirdweb/extensions/erc721";
|
65
|
+
* const result = encodeMintTo({
|
66
|
+
* to: ...,
|
67
|
+
* uri: ...,
|
68
|
+
* });
|
69
|
+
* ```
|
70
|
+
*/
|
71
|
+
export function encodeMintTo(options) {
|
72
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
73
|
+
// we can do this because we know the specific formats of the values
|
74
|
+
return (FN_SELECTOR +
|
75
|
+
encodeMintToParams(options).slice(2));
|
76
|
+
}
|
77
|
+
/**
|
78
|
+
* Prepares a transaction to call the "mintTo" function on the contract.
|
79
|
+
* @param options - The options for the "mintTo" function.
|
80
|
+
* @returns A prepared transaction object.
|
81
|
+
* @extension ERC721
|
82
|
+
* @example
|
83
|
+
* ```ts
|
84
|
+
* import { sendTransaction } from "thirdweb";
|
85
|
+
* import { mintTo } from "thirdweb/extensions/erc721";
|
86
|
+
*
|
87
|
+
* const transaction = mintTo({
|
88
|
+
* contract,
|
89
|
+
* to: ...,
|
90
|
+
* uri: ...,
|
91
|
+
* overrides: {
|
92
|
+
* ...
|
93
|
+
* }
|
94
|
+
* });
|
95
|
+
*
|
96
|
+
* // Send the transaction
|
97
|
+
* await sendTransaction({ transaction, account });
|
98
|
+
* ```
|
99
|
+
*/
|
100
|
+
export function mintTo(options) {
|
101
|
+
const asyncOptions = once(async () => {
|
102
|
+
return "asyncParams" in options ? await options.asyncParams() : options;
|
103
|
+
});
|
104
|
+
return prepareContractCall({
|
105
|
+
contract: options.contract,
|
106
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
107
|
+
params: async () => {
|
108
|
+
const resolvedOptions = await asyncOptions();
|
109
|
+
return [resolvedOptions.to, resolvedOptions.uri];
|
110
|
+
},
|
111
|
+
value: async () => (await asyncOptions()).overrides?.value,
|
112
|
+
accessList: async () => (await asyncOptions()).overrides?.accessList,
|
113
|
+
gas: async () => (await asyncOptions()).overrides?.gas,
|
114
|
+
gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
|
115
|
+
maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
|
116
|
+
maxPriorityFeePerGas: async () => (await asyncOptions()).overrides?.maxPriorityFeePerGas,
|
117
|
+
nonce: async () => (await asyncOptions()).overrides?.nonce,
|
118
|
+
extraGas: async () => (await asyncOptions()).overrides?.extraGas,
|
119
|
+
erc20Value: async () => (await asyncOptions()).overrides?.erc20Value,
|
120
|
+
});
|
121
|
+
}
|
122
|
+
//# sourceMappingURL=mintTo.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"mintTo.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc721/__generated__/LoyaltyCard/write/mintTo.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,164 @@
|
|
1
|
+
import { prepareContractCall } from "../../../../../transaction/prepare-contract-call.js";
|
2
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
3
|
+
import { once } from "../../../../../utils/promise/once.js";
|
4
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
5
|
+
export const FN_SELECTOR = "0x91c5ee92";
|
6
|
+
const FN_INPUTS = [
|
7
|
+
{
|
8
|
+
type: "tuple",
|
9
|
+
name: "_req",
|
10
|
+
components: [
|
11
|
+
{
|
12
|
+
type: "address",
|
13
|
+
name: "to",
|
14
|
+
},
|
15
|
+
{
|
16
|
+
type: "address",
|
17
|
+
name: "royaltyRecipient",
|
18
|
+
},
|
19
|
+
{
|
20
|
+
type: "uint256",
|
21
|
+
name: "royaltyBps",
|
22
|
+
},
|
23
|
+
{
|
24
|
+
type: "address",
|
25
|
+
name: "primarySaleRecipient",
|
26
|
+
},
|
27
|
+
{
|
28
|
+
type: "uint256",
|
29
|
+
name: "quantity",
|
30
|
+
},
|
31
|
+
{
|
32
|
+
type: "uint256",
|
33
|
+
name: "pricePerToken",
|
34
|
+
},
|
35
|
+
{
|
36
|
+
type: "address",
|
37
|
+
name: "currency",
|
38
|
+
},
|
39
|
+
{
|
40
|
+
type: "uint128",
|
41
|
+
name: "validityStartTimestamp",
|
42
|
+
},
|
43
|
+
{
|
44
|
+
type: "uint128",
|
45
|
+
name: "validityEndTimestamp",
|
46
|
+
},
|
47
|
+
{
|
48
|
+
type: "string",
|
49
|
+
name: "uri",
|
50
|
+
},
|
51
|
+
],
|
52
|
+
},
|
53
|
+
{
|
54
|
+
type: "bytes",
|
55
|
+
name: "_signature",
|
56
|
+
},
|
57
|
+
];
|
58
|
+
const FN_OUTPUTS = [
|
59
|
+
{
|
60
|
+
type: "address",
|
61
|
+
name: "signer",
|
62
|
+
},
|
63
|
+
];
|
64
|
+
/**
|
65
|
+
* Checks if the `mintWithSignature` method is supported by the given contract.
|
66
|
+
* @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.
|
67
|
+
* @returns A boolean indicating if the `mintWithSignature` method is supported.
|
68
|
+
* @extension ERC721
|
69
|
+
* @example
|
70
|
+
* ```ts
|
71
|
+
* import { isMintWithSignatureSupported } from "thirdweb/extensions/erc721";
|
72
|
+
*
|
73
|
+
* const supported = isMintWithSignatureSupported(["0x..."]);
|
74
|
+
* ```
|
75
|
+
*/
|
76
|
+
export function isMintWithSignatureSupported(availableSelectors) {
|
77
|
+
return detectMethod({
|
78
|
+
availableSelectors,
|
79
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
80
|
+
});
|
81
|
+
}
|
82
|
+
/**
|
83
|
+
* Encodes the parameters for the "mintWithSignature" function.
|
84
|
+
* @param options - The options for the mintWithSignature function.
|
85
|
+
* @returns The encoded ABI parameters.
|
86
|
+
* @extension ERC721
|
87
|
+
* @example
|
88
|
+
* ```ts
|
89
|
+
* import { encodeMintWithSignatureParams } from "thirdweb/extensions/erc721";
|
90
|
+
* const result = encodeMintWithSignatureParams({
|
91
|
+
* req: ...,
|
92
|
+
* signature: ...,
|
93
|
+
* });
|
94
|
+
* ```
|
95
|
+
*/
|
96
|
+
export function encodeMintWithSignatureParams(options) {
|
97
|
+
return encodeAbiParameters(FN_INPUTS, [options.req, options.signature]);
|
98
|
+
}
|
99
|
+
/**
|
100
|
+
* Encodes the "mintWithSignature" function into a Hex string with its parameters.
|
101
|
+
* @param options - The options for the mintWithSignature function.
|
102
|
+
* @returns The encoded hexadecimal string.
|
103
|
+
* @extension ERC721
|
104
|
+
* @example
|
105
|
+
* ```ts
|
106
|
+
* import { encodeMintWithSignature } from "thirdweb/extensions/erc721";
|
107
|
+
* const result = encodeMintWithSignature({
|
108
|
+
* req: ...,
|
109
|
+
* signature: ...,
|
110
|
+
* });
|
111
|
+
* ```
|
112
|
+
*/
|
113
|
+
export function encodeMintWithSignature(options) {
|
114
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
115
|
+
// we can do this because we know the specific formats of the values
|
116
|
+
return (FN_SELECTOR +
|
117
|
+
encodeMintWithSignatureParams(options).slice(2));
|
118
|
+
}
|
119
|
+
/**
|
120
|
+
* Prepares a transaction to call the "mintWithSignature" function on the contract.
|
121
|
+
* @param options - The options for the "mintWithSignature" function.
|
122
|
+
* @returns A prepared transaction object.
|
123
|
+
* @extension ERC721
|
124
|
+
* @example
|
125
|
+
* ```ts
|
126
|
+
* import { sendTransaction } from "thirdweb";
|
127
|
+
* import { mintWithSignature } from "thirdweb/extensions/erc721";
|
128
|
+
*
|
129
|
+
* const transaction = mintWithSignature({
|
130
|
+
* contract,
|
131
|
+
* req: ...,
|
132
|
+
* signature: ...,
|
133
|
+
* overrides: {
|
134
|
+
* ...
|
135
|
+
* }
|
136
|
+
* });
|
137
|
+
*
|
138
|
+
* // Send the transaction
|
139
|
+
* await sendTransaction({ transaction, account });
|
140
|
+
* ```
|
141
|
+
*/
|
142
|
+
export function mintWithSignature(options) {
|
143
|
+
const asyncOptions = once(async () => {
|
144
|
+
return "asyncParams" in options ? await options.asyncParams() : options;
|
145
|
+
});
|
146
|
+
return prepareContractCall({
|
147
|
+
contract: options.contract,
|
148
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
149
|
+
params: async () => {
|
150
|
+
const resolvedOptions = await asyncOptions();
|
151
|
+
return [resolvedOptions.req, resolvedOptions.signature];
|
152
|
+
},
|
153
|
+
value: async () => (await asyncOptions()).overrides?.value,
|
154
|
+
accessList: async () => (await asyncOptions()).overrides?.accessList,
|
155
|
+
gas: async () => (await asyncOptions()).overrides?.gas,
|
156
|
+
gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
|
157
|
+
maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
|
158
|
+
maxPriorityFeePerGas: async () => (await asyncOptions()).overrides?.maxPriorityFeePerGas,
|
159
|
+
nonce: async () => (await asyncOptions()).overrides?.nonce,
|
160
|
+
extraGas: async () => (await asyncOptions()).overrides?.extraGas,
|
161
|
+
erc20Value: async () => (await asyncOptions()).overrides?.erc20Value,
|
162
|
+
});
|
163
|
+
}
|
164
|
+
//# sourceMappingURL=mintWithSignature.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"mintWithSignature.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc721/__generated__/LoyaltyCard/write/mintWithSignature.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,110 @@
|
|
1
|
+
import { prepareContractCall } from "../../../../../transaction/prepare-contract-call.js";
|
2
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
3
|
+
import { once } from "../../../../../utils/promise/once.js";
|
4
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
5
|
+
export const FN_SELECTOR = "0x20c5429b";
|
6
|
+
const FN_INPUTS = [
|
7
|
+
{
|
8
|
+
type: "uint256",
|
9
|
+
name: "tokenId",
|
10
|
+
},
|
11
|
+
];
|
12
|
+
const FN_OUTPUTS = [];
|
13
|
+
/**
|
14
|
+
* Checks if the `revoke` method is supported by the given contract.
|
15
|
+
* @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.
|
16
|
+
* @returns A boolean indicating if the `revoke` method is supported.
|
17
|
+
* @extension ERC721
|
18
|
+
* @example
|
19
|
+
* ```ts
|
20
|
+
* import { isRevokeSupported } from "thirdweb/extensions/erc721";
|
21
|
+
*
|
22
|
+
* const supported = isRevokeSupported(["0x..."]);
|
23
|
+
* ```
|
24
|
+
*/
|
25
|
+
export function isRevokeSupported(availableSelectors) {
|
26
|
+
return detectMethod({
|
27
|
+
availableSelectors,
|
28
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
29
|
+
});
|
30
|
+
}
|
31
|
+
/**
|
32
|
+
* Encodes the parameters for the "revoke" function.
|
33
|
+
* @param options - The options for the revoke function.
|
34
|
+
* @returns The encoded ABI parameters.
|
35
|
+
* @extension ERC721
|
36
|
+
* @example
|
37
|
+
* ```ts
|
38
|
+
* import { encodeRevokeParams } from "thirdweb/extensions/erc721";
|
39
|
+
* const result = encodeRevokeParams({
|
40
|
+
* tokenId: ...,
|
41
|
+
* });
|
42
|
+
* ```
|
43
|
+
*/
|
44
|
+
export function encodeRevokeParams(options) {
|
45
|
+
return encodeAbiParameters(FN_INPUTS, [options.tokenId]);
|
46
|
+
}
|
47
|
+
/**
|
48
|
+
* Encodes the "revoke" function into a Hex string with its parameters.
|
49
|
+
* @param options - The options for the revoke function.
|
50
|
+
* @returns The encoded hexadecimal string.
|
51
|
+
* @extension ERC721
|
52
|
+
* @example
|
53
|
+
* ```ts
|
54
|
+
* import { encodeRevoke } from "thirdweb/extensions/erc721";
|
55
|
+
* const result = encodeRevoke({
|
56
|
+
* tokenId: ...,
|
57
|
+
* });
|
58
|
+
* ```
|
59
|
+
*/
|
60
|
+
export function encodeRevoke(options) {
|
61
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
62
|
+
// we can do this because we know the specific formats of the values
|
63
|
+
return (FN_SELECTOR +
|
64
|
+
encodeRevokeParams(options).slice(2));
|
65
|
+
}
|
66
|
+
/**
|
67
|
+
* Prepares a transaction to call the "revoke" function on the contract.
|
68
|
+
* @param options - The options for the "revoke" function.
|
69
|
+
* @returns A prepared transaction object.
|
70
|
+
* @extension ERC721
|
71
|
+
* @example
|
72
|
+
* ```ts
|
73
|
+
* import { sendTransaction } from "thirdweb";
|
74
|
+
* import { revoke } from "thirdweb/extensions/erc721";
|
75
|
+
*
|
76
|
+
* const transaction = revoke({
|
77
|
+
* contract,
|
78
|
+
* tokenId: ...,
|
79
|
+
* overrides: {
|
80
|
+
* ...
|
81
|
+
* }
|
82
|
+
* });
|
83
|
+
*
|
84
|
+
* // Send the transaction
|
85
|
+
* await sendTransaction({ transaction, account });
|
86
|
+
* ```
|
87
|
+
*/
|
88
|
+
export function revoke(options) {
|
89
|
+
const asyncOptions = once(async () => {
|
90
|
+
return "asyncParams" in options ? await options.asyncParams() : options;
|
91
|
+
});
|
92
|
+
return prepareContractCall({
|
93
|
+
contract: options.contract,
|
94
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
95
|
+
params: async () => {
|
96
|
+
const resolvedOptions = await asyncOptions();
|
97
|
+
return [resolvedOptions.tokenId];
|
98
|
+
},
|
99
|
+
value: async () => (await asyncOptions()).overrides?.value,
|
100
|
+
accessList: async () => (await asyncOptions()).overrides?.accessList,
|
101
|
+
gas: async () => (await asyncOptions()).overrides?.gas,
|
102
|
+
gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
|
103
|
+
maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
|
104
|
+
maxPriorityFeePerGas: async () => (await asyncOptions()).overrides?.maxPriorityFeePerGas,
|
105
|
+
nonce: async () => (await asyncOptions()).overrides?.nonce,
|
106
|
+
extraGas: async () => (await asyncOptions()).overrides?.extraGas,
|
107
|
+
erc20Value: async () => (await asyncOptions()).overrides?.erc20Value,
|
108
|
+
});
|
109
|
+
}
|
110
|
+
//# sourceMappingURL=revoke.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"revoke.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc721/__generated__/LoyaltyCard/write/revoke.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { prepareEvent } from "../../../../../event/prepare-event.js";
|
2
|
+
/**
|
3
|
+
* Creates an event object for the TokensUnwrapped event.
|
4
|
+
* @param filters - Optional filters to apply to the event.
|
5
|
+
* @returns The prepared event object.
|
6
|
+
* @extension ERC721
|
7
|
+
* @example
|
8
|
+
* ```ts
|
9
|
+
* import { getContractEvents } from "thirdweb";
|
10
|
+
* import { tokensUnwrappedEvent } from "thirdweb/extensions/erc721";
|
11
|
+
*
|
12
|
+
* const events = await getContractEvents({
|
13
|
+
* contract,
|
14
|
+
* events: [
|
15
|
+
* tokensUnwrappedEvent({
|
16
|
+
* unwrapper: ...,
|
17
|
+
* recipientOfWrappedContents: ...,
|
18
|
+
* tokenIdOfWrappedToken: ...,
|
19
|
+
* })
|
20
|
+
* ],
|
21
|
+
* });
|
22
|
+
* ```
|
23
|
+
*/
|
24
|
+
export function tokensUnwrappedEvent(filters = {}) {
|
25
|
+
return prepareEvent({
|
26
|
+
signature: "event TokensUnwrapped(address indexed unwrapper, address indexed recipientOfWrappedContents, uint256 indexed tokenIdOfWrappedToken)",
|
27
|
+
filters,
|
28
|
+
});
|
29
|
+
}
|
30
|
+
//# sourceMappingURL=TokensUnwrapped.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"TokensUnwrapped.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc721/__generated__/Multiwrap/events/TokensUnwrapped.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAwBrE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAuC,EAAE;IAEzC,OAAO,YAAY,CAAC;QAClB,SAAS,EACP,qIAAqI;QACvI,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { prepareEvent } from "../../../../../event/prepare-event.js";
|
2
|
+
/**
|
3
|
+
* Creates an event object for the TokensWrapped event.
|
4
|
+
* @param filters - Optional filters to apply to the event.
|
5
|
+
* @returns The prepared event object.
|
6
|
+
* @extension ERC721
|
7
|
+
* @example
|
8
|
+
* ```ts
|
9
|
+
* import { getContractEvents } from "thirdweb";
|
10
|
+
* import { tokensWrappedEvent } from "thirdweb/extensions/erc721";
|
11
|
+
*
|
12
|
+
* const events = await getContractEvents({
|
13
|
+
* contract,
|
14
|
+
* events: [
|
15
|
+
* tokensWrappedEvent({
|
16
|
+
* wrapper: ...,
|
17
|
+
* recipientOfWrappedToken: ...,
|
18
|
+
* tokenIdOfWrappedToken: ...,
|
19
|
+
* })
|
20
|
+
* ],
|
21
|
+
* });
|
22
|
+
* ```
|
23
|
+
*/
|
24
|
+
export function tokensWrappedEvent(filters = {}) {
|
25
|
+
return prepareEvent({
|
26
|
+
signature: "event TokensWrapped(address indexed wrapper, address indexed recipientOfWrappedToken, uint256 indexed tokenIdOfWrappedToken, (address assetContract, uint8 tokenType, uint256 tokenId, uint256 amount)[] wrappedContents)",
|
27
|
+
filters,
|
28
|
+
});
|
29
|
+
}
|
30
|
+
//# sourceMappingURL=TokensWrapped.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"TokensWrapped.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc721/__generated__/Multiwrap/events/TokensWrapped.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAwBrE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAqC,EAAE;IACxE,OAAO,YAAY,CAAC;QAClB,SAAS,EACP,2NAA2N;QAC7N,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { readContract } from "../../../../../transaction/read-contract.js";
|
2
|
+
import { decodeAbiParameters } from "viem";
|
3
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
4
|
+
export const FN_SELECTOR = "0xcb2ef6f7";
|
5
|
+
const FN_INPUTS = [];
|
6
|
+
const FN_OUTPUTS = [
|
7
|
+
{
|
8
|
+
type: "bytes32",
|
9
|
+
},
|
10
|
+
];
|
11
|
+
/**
|
12
|
+
* Checks if the `contractType` method is supported by the given contract.
|
13
|
+
* @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.
|
14
|
+
* @returns A boolean indicating if the `contractType` method is supported.
|
15
|
+
* @extension ERC721
|
16
|
+
* @example
|
17
|
+
* ```ts
|
18
|
+
* import { isContractTypeSupported } from "thirdweb/extensions/erc721";
|
19
|
+
* const supported = isContractTypeSupported(["0x..."]);
|
20
|
+
* ```
|
21
|
+
*/
|
22
|
+
export function isContractTypeSupported(availableSelectors) {
|
23
|
+
return detectMethod({
|
24
|
+
availableSelectors,
|
25
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
26
|
+
});
|
27
|
+
}
|
28
|
+
/**
|
29
|
+
* Decodes the result of the contractType function call.
|
30
|
+
* @param result - The hexadecimal result to decode.
|
31
|
+
* @returns The decoded result as per the FN_OUTPUTS definition.
|
32
|
+
* @extension ERC721
|
33
|
+
* @example
|
34
|
+
* ```ts
|
35
|
+
* import { decodeContractTypeResult } from "thirdweb/extensions/erc721";
|
36
|
+
* const result = decodeContractTypeResultResult("...");
|
37
|
+
* ```
|
38
|
+
*/
|
39
|
+
export function decodeContractTypeResult(result) {
|
40
|
+
return decodeAbiParameters(FN_OUTPUTS, result)[0];
|
41
|
+
}
|
42
|
+
/**
|
43
|
+
* Calls the "contractType" function on the contract.
|
44
|
+
* @param options - The options for the contractType function.
|
45
|
+
* @returns The parsed result of the function call.
|
46
|
+
* @extension ERC721
|
47
|
+
* @example
|
48
|
+
* ```ts
|
49
|
+
* import { contractType } from "thirdweb/extensions/erc721";
|
50
|
+
*
|
51
|
+
* const result = await contractType({
|
52
|
+
* contract,
|
53
|
+
* });
|
54
|
+
*
|
55
|
+
* ```
|
56
|
+
*/
|
57
|
+
export async function contractType(options) {
|
58
|
+
return readContract({
|
59
|
+
contract: options.contract,
|
60
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
61
|
+
params: [],
|
62
|
+
});
|
63
|
+
}
|
64
|
+
//# sourceMappingURL=contractType.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"contractType.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc721/__generated__/Multiwrap/read/contractType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAEhF,MAAM,CAAC,MAAM,WAAW,GAAG,YAAqB,CAAC;AACjD,MAAM,SAAS,GAAG,EAAW,CAAC;AAC9B,MAAM,UAAU,GAAG;IACjB;QACE,IAAI,EAAE,SAAS;KAChB;CACO,CAAC;AAEX;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CAAC,kBAA4B;IAClE,OAAO,YAAY,CAAC;QAClB,kBAAkB;QAClB,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAU;KACtD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAW;IAClD,OAAO,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA+B;IAChE,OAAO,YAAY,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAU;QACrD,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;AACL,CAAC"}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { readContract } from "../../../../../transaction/read-contract.js";
|
2
|
+
import { decodeAbiParameters } from "viem";
|
3
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
4
|
+
export const FN_SELECTOR = "0xa0a8e460";
|
5
|
+
const FN_INPUTS = [];
|
6
|
+
const FN_OUTPUTS = [
|
7
|
+
{
|
8
|
+
type: "uint8",
|
9
|
+
},
|
10
|
+
];
|
11
|
+
/**
|
12
|
+
* Checks if the `contractVersion` method is supported by the given contract.
|
13
|
+
* @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.
|
14
|
+
* @returns A boolean indicating if the `contractVersion` method is supported.
|
15
|
+
* @extension ERC721
|
16
|
+
* @example
|
17
|
+
* ```ts
|
18
|
+
* import { isContractVersionSupported } from "thirdweb/extensions/erc721";
|
19
|
+
* const supported = isContractVersionSupported(["0x..."]);
|
20
|
+
* ```
|
21
|
+
*/
|
22
|
+
export function isContractVersionSupported(availableSelectors) {
|
23
|
+
return detectMethod({
|
24
|
+
availableSelectors,
|
25
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
26
|
+
});
|
27
|
+
}
|
28
|
+
/**
|
29
|
+
* Decodes the result of the contractVersion function call.
|
30
|
+
* @param result - The hexadecimal result to decode.
|
31
|
+
* @returns The decoded result as per the FN_OUTPUTS definition.
|
32
|
+
* @extension ERC721
|
33
|
+
* @example
|
34
|
+
* ```ts
|
35
|
+
* import { decodeContractVersionResult } from "thirdweb/extensions/erc721";
|
36
|
+
* const result = decodeContractVersionResultResult("...");
|
37
|
+
* ```
|
38
|
+
*/
|
39
|
+
export function decodeContractVersionResult(result) {
|
40
|
+
return decodeAbiParameters(FN_OUTPUTS, result)[0];
|
41
|
+
}
|
42
|
+
/**
|
43
|
+
* Calls the "contractVersion" function on the contract.
|
44
|
+
* @param options - The options for the contractVersion function.
|
45
|
+
* @returns The parsed result of the function call.
|
46
|
+
* @extension ERC721
|
47
|
+
* @example
|
48
|
+
* ```ts
|
49
|
+
* import { contractVersion } from "thirdweb/extensions/erc721";
|
50
|
+
*
|
51
|
+
* const result = await contractVersion({
|
52
|
+
* contract,
|
53
|
+
* });
|
54
|
+
*
|
55
|
+
* ```
|
56
|
+
*/
|
57
|
+
export async function contractVersion(options) {
|
58
|
+
return readContract({
|
59
|
+
contract: options.contract,
|
60
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
|
61
|
+
params: [],
|
62
|
+
});
|
63
|
+
}
|
64
|
+
//# sourceMappingURL=contractVersion.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"contractVersion.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc721/__generated__/Multiwrap/read/contractVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAEhF,MAAM,CAAC,MAAM,WAAW,GAAG,YAAqB,CAAC;AACjD,MAAM,SAAS,GAAG,EAAW,CAAC;AAC9B,MAAM,UAAU,GAAG;IACjB;QACE,IAAI,EAAE,OAAO;KACd;CACO,CAAC;AAEX;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CAAC,kBAA4B;IACrE,OAAO,YAAY,CAAC;QAClB,kBAAkB;QAClB,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAU;KACtD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAW;IACrD,OAAO,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAA+B;IACnE,OAAO,YAAY,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAU;QACrD,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;AACL,CAAC"}
|