thirdweb 5.59.2 → 5.60.0-nightly-8b681729a105bf0ba13be166937bae7914813a2e-20240930000338

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.
Files changed (191) hide show
  1. package/dist/cjs/exports/deploys.js +3 -1
  2. package/dist/cjs/exports/deploys.js.map +1 -1
  3. package/dist/cjs/exports/extensions/pack.js +24 -0
  4. package/dist/cjs/exports/extensions/pack.js.map +1 -0
  5. package/dist/cjs/extensions/pack/__generated__/IPack/events/PackCreated.js +31 -0
  6. package/dist/cjs/extensions/pack/__generated__/IPack/events/PackCreated.js.map +1 -0
  7. package/dist/cjs/extensions/pack/__generated__/IPack/events/PackOpened.js +32 -0
  8. package/dist/cjs/extensions/pack/__generated__/IPack/events/PackOpened.js.map +1 -0
  9. package/dist/cjs/extensions/pack/__generated__/IPack/events/PackUpdated.js +31 -0
  10. package/dist/cjs/extensions/pack/__generated__/IPack/events/PackUpdated.js.map +1 -0
  11. package/dist/cjs/extensions/pack/__generated__/IPack/read/canUpdatePack.js +114 -0
  12. package/dist/cjs/extensions/pack/__generated__/IPack/read/canUpdatePack.js.map +1 -0
  13. package/dist/cjs/extensions/pack/__generated__/IPack/read/getPackContents.js +137 -0
  14. package/dist/cjs/extensions/pack/__generated__/IPack/read/getPackContents.js.map +1 -0
  15. package/dist/cjs/extensions/pack/__generated__/IPack/read/getTokenCountOfBundle.js +114 -0
  16. package/dist/cjs/extensions/pack/__generated__/IPack/read/getTokenCountOfBundle.js.map +1 -0
  17. package/dist/cjs/extensions/pack/__generated__/IPack/read/getTokenOfBundle.js +139 -0
  18. package/dist/cjs/extensions/pack/__generated__/IPack/read/getTokenOfBundle.js.map +1 -0
  19. package/dist/cjs/extensions/pack/__generated__/IPack/read/getUriOfBundle.js +114 -0
  20. package/dist/cjs/extensions/pack/__generated__/IPack/read/getUriOfBundle.js.map +1 -0
  21. package/dist/cjs/extensions/pack/__generated__/IPack/write/addPackContents.js +175 -0
  22. package/dist/cjs/extensions/pack/__generated__/IPack/write/addPackContents.js.map +1 -0
  23. package/dist/cjs/extensions/pack/__generated__/IPack/write/createPack.js +193 -0
  24. package/dist/cjs/extensions/pack/__generated__/IPack/write/createPack.js.map +1 -0
  25. package/dist/cjs/extensions/pack/__generated__/IPack/write/openPack.js +146 -0
  26. package/dist/cjs/extensions/pack/__generated__/IPack/write/openPack.js.map +1 -0
  27. package/dist/cjs/extensions/pack/__generated__/IPackVRFDirect/events/PackOpenRequested.js +32 -0
  28. package/dist/cjs/extensions/pack/__generated__/IPackVRFDirect/events/PackOpenRequested.js.map +1 -0
  29. package/dist/cjs/extensions/pack/__generated__/IPackVRFDirect/events/PackRandomnessFulfilled.js +32 -0
  30. package/dist/cjs/extensions/pack/__generated__/IPackVRFDirect/events/PackRandomnessFulfilled.js.map +1 -0
  31. package/dist/cjs/extensions/pack/__generated__/IPackVRFDirect/read/canClaimRewards.js +114 -0
  32. package/dist/cjs/extensions/pack/__generated__/IPackVRFDirect/read/canClaimRewards.js.map +1 -0
  33. package/dist/cjs/extensions/pack/__generated__/IPackVRFDirect/write/claimRewards.js +74 -0
  34. package/dist/cjs/extensions/pack/__generated__/IPackVRFDirect/write/claimRewards.js.map +1 -0
  35. package/dist/cjs/extensions/pack/__generated__/IPackVRFDirect/write/openPackAndClaimRewards.js +143 -0
  36. package/dist/cjs/extensions/pack/__generated__/IPackVRFDirect/write/openPackAndClaimRewards.js.map +1 -0
  37. package/dist/cjs/extensions/pack/createNewPack.js +285 -0
  38. package/dist/cjs/extensions/pack/createNewPack.js.map +1 -0
  39. package/dist/cjs/extensions/prebuilts/__generated__/Pack/write/initialize.js +175 -0
  40. package/dist/cjs/extensions/prebuilts/__generated__/Pack/write/initialize.js.map +1 -0
  41. package/dist/cjs/extensions/prebuilts/deploy-pack.js +115 -0
  42. package/dist/cjs/extensions/prebuilts/deploy-pack.js.map +1 -0
  43. package/dist/cjs/rpc/watchBlockNumber.js +2 -8
  44. package/dist/cjs/rpc/watchBlockNumber.js.map +1 -1
  45. package/dist/cjs/utils/sleep.js +12 -0
  46. package/dist/cjs/utils/sleep.js.map +1 -0
  47. package/dist/cjs/version.js +1 -1
  48. package/dist/cjs/version.js.map +1 -1
  49. package/dist/cjs/wallets/in-app/web/utils/iFrameCommunication/IframeCommunicator.js +4 -8
  50. package/dist/cjs/wallets/in-app/web/utils/iFrameCommunication/IframeCommunicator.js.map +1 -1
  51. package/dist/esm/exports/deploys.js +1 -0
  52. package/dist/esm/exports/deploys.js.map +1 -1
  53. package/dist/esm/exports/extensions/pack.js +12 -0
  54. package/dist/esm/exports/extensions/pack.js.map +1 -0
  55. package/dist/esm/extensions/pack/__generated__/IPack/events/PackCreated.js +28 -0
  56. package/dist/esm/extensions/pack/__generated__/IPack/events/PackCreated.js.map +1 -0
  57. package/dist/esm/extensions/pack/__generated__/IPack/events/PackOpened.js +29 -0
  58. package/dist/esm/extensions/pack/__generated__/IPack/events/PackOpened.js.map +1 -0
  59. package/dist/esm/extensions/pack/__generated__/IPack/events/PackUpdated.js +28 -0
  60. package/dist/esm/extensions/pack/__generated__/IPack/events/PackUpdated.js.map +1 -0
  61. package/dist/esm/extensions/pack/__generated__/IPack/read/canUpdatePack.js +106 -0
  62. package/dist/esm/extensions/pack/__generated__/IPack/read/canUpdatePack.js.map +1 -0
  63. package/dist/esm/extensions/pack/__generated__/IPack/read/getPackContents.js +129 -0
  64. package/dist/esm/extensions/pack/__generated__/IPack/read/getPackContents.js.map +1 -0
  65. package/dist/esm/extensions/pack/__generated__/IPack/read/getTokenCountOfBundle.js +106 -0
  66. package/dist/esm/extensions/pack/__generated__/IPack/read/getTokenCountOfBundle.js.map +1 -0
  67. package/dist/esm/extensions/pack/__generated__/IPack/read/getTokenOfBundle.js +131 -0
  68. package/dist/esm/extensions/pack/__generated__/IPack/read/getTokenOfBundle.js.map +1 -0
  69. package/dist/esm/extensions/pack/__generated__/IPack/read/getUriOfBundle.js +106 -0
  70. package/dist/esm/extensions/pack/__generated__/IPack/read/getUriOfBundle.js.map +1 -0
  71. package/dist/esm/extensions/pack/__generated__/IPack/write/addPackContents.js +168 -0
  72. package/dist/esm/extensions/pack/__generated__/IPack/write/addPackContents.js.map +1 -0
  73. package/dist/esm/extensions/pack/__generated__/IPack/write/createPack.js +186 -0
  74. package/dist/esm/extensions/pack/__generated__/IPack/write/createPack.js.map +1 -0
  75. package/dist/esm/extensions/pack/__generated__/IPack/write/openPack.js +139 -0
  76. package/dist/esm/extensions/pack/__generated__/IPack/write/openPack.js.map +1 -0
  77. package/dist/esm/extensions/pack/__generated__/IPackVRFDirect/events/PackOpenRequested.js +29 -0
  78. package/dist/esm/extensions/pack/__generated__/IPackVRFDirect/events/PackOpenRequested.js.map +1 -0
  79. package/dist/esm/extensions/pack/__generated__/IPackVRFDirect/events/PackRandomnessFulfilled.js +29 -0
  80. package/dist/esm/extensions/pack/__generated__/IPackVRFDirect/events/PackRandomnessFulfilled.js.map +1 -0
  81. package/dist/esm/extensions/pack/__generated__/IPackVRFDirect/read/canClaimRewards.js +106 -0
  82. package/dist/esm/extensions/pack/__generated__/IPackVRFDirect/read/canClaimRewards.js.map +1 -0
  83. package/dist/esm/extensions/pack/__generated__/IPackVRFDirect/write/claimRewards.js +69 -0
  84. package/dist/esm/extensions/pack/__generated__/IPackVRFDirect/write/claimRewards.js.map +1 -0
  85. package/dist/esm/extensions/pack/__generated__/IPackVRFDirect/write/openPackAndClaimRewards.js +136 -0
  86. package/dist/esm/extensions/pack/__generated__/IPackVRFDirect/write/openPackAndClaimRewards.js.map +1 -0
  87. package/dist/esm/extensions/pack/createNewPack.js +281 -0
  88. package/dist/esm/extensions/pack/createNewPack.js.map +1 -0
  89. package/dist/esm/extensions/prebuilts/__generated__/Pack/write/initialize.js +168 -0
  90. package/dist/esm/extensions/prebuilts/__generated__/Pack/write/initialize.js.map +1 -0
  91. package/dist/esm/extensions/prebuilts/deploy-pack.js +112 -0
  92. package/dist/esm/extensions/prebuilts/deploy-pack.js.map +1 -0
  93. package/dist/esm/rpc/watchBlockNumber.js +1 -7
  94. package/dist/esm/rpc/watchBlockNumber.js.map +1 -1
  95. package/dist/esm/utils/sleep.js +9 -0
  96. package/dist/esm/utils/sleep.js.map +1 -0
  97. package/dist/esm/version.js +1 -1
  98. package/dist/esm/version.js.map +1 -1
  99. package/dist/esm/wallets/in-app/web/utils/iFrameCommunication/IframeCommunicator.js +4 -8
  100. package/dist/esm/wallets/in-app/web/utils/iFrameCommunication/IframeCommunicator.js.map +1 -1
  101. package/dist/types/exports/deploys.d.ts +1 -0
  102. package/dist/types/exports/deploys.d.ts.map +1 -1
  103. package/dist/types/exports/extensions/pack.d.ts +9 -0
  104. package/dist/types/exports/extensions/pack.d.ts.map +1 -0
  105. package/dist/types/extensions/pack/__generated__/IPack/events/PackCreated.d.ts +47 -0
  106. package/dist/types/extensions/pack/__generated__/IPack/events/PackCreated.d.ts.map +1 -0
  107. package/dist/types/extensions/pack/__generated__/IPack/events/PackOpened.d.ts +70 -0
  108. package/dist/types/extensions/pack/__generated__/IPack/events/PackOpened.d.ts.map +1 -0
  109. package/dist/types/extensions/pack/__generated__/IPack/events/PackUpdated.d.ts +47 -0
  110. package/dist/types/extensions/pack/__generated__/IPack/events/PackUpdated.d.ts.map +1 -0
  111. package/dist/types/extensions/pack/__generated__/IPack/read/canUpdatePack.d.ts +83 -0
  112. package/dist/types/extensions/pack/__generated__/IPack/read/canUpdatePack.d.ts.map +1 -0
  113. package/dist/types/extensions/pack/__generated__/IPack/read/getPackContents.d.ts +93 -0
  114. package/dist/types/extensions/pack/__generated__/IPack/read/getPackContents.d.ts.map +1 -0
  115. package/dist/types/extensions/pack/__generated__/IPack/read/getTokenCountOfBundle.d.ts +83 -0
  116. package/dist/types/extensions/pack/__generated__/IPack/read/getTokenCountOfBundle.d.ts.map +1 -0
  117. package/dist/types/extensions/pack/__generated__/IPack/read/getTokenOfBundle.d.ts +100 -0
  118. package/dist/types/extensions/pack/__generated__/IPack/read/getTokenOfBundle.d.ts.map +1 -0
  119. package/dist/types/extensions/pack/__generated__/IPack/read/getUriOfBundle.d.ts +83 -0
  120. package/dist/types/extensions/pack/__generated__/IPack/read/getUriOfBundle.d.ts.map +1 -0
  121. package/dist/types/extensions/pack/__generated__/IPack/write/addPackContents.d.ts +118 -0
  122. package/dist/types/extensions/pack/__generated__/IPack/write/addPackContents.d.ts.map +1 -0
  123. package/dist/types/extensions/pack/__generated__/IPack/write/createPack.d.ts +132 -0
  124. package/dist/types/extensions/pack/__generated__/IPack/write/createPack.d.ts.map +1 -0
  125. package/dist/types/extensions/pack/__generated__/IPack/write/openPack.d.ts +86 -0
  126. package/dist/types/extensions/pack/__generated__/IPack/write/openPack.d.ts.map +1 -0
  127. package/dist/types/extensions/pack/__generated__/IPackVRFDirect/events/PackOpenRequested.d.ts +57 -0
  128. package/dist/types/extensions/pack/__generated__/IPackVRFDirect/events/PackOpenRequested.d.ts.map +1 -0
  129. package/dist/types/extensions/pack/__generated__/IPackVRFDirect/events/PackRandomnessFulfilled.d.ts +51 -0
  130. package/dist/types/extensions/pack/__generated__/IPackVRFDirect/events/PackRandomnessFulfilled.d.ts.map +1 -0
  131. package/dist/types/extensions/pack/__generated__/IPackVRFDirect/read/canClaimRewards.d.ts +83 -0
  132. package/dist/types/extensions/pack/__generated__/IPackVRFDirect/read/canClaimRewards.d.ts.map +1 -0
  133. package/dist/types/extensions/pack/__generated__/IPackVRFDirect/write/claimRewards.d.ts +33 -0
  134. package/dist/types/extensions/pack/__generated__/IPackVRFDirect/write/claimRewards.d.ts.map +1 -0
  135. package/dist/types/extensions/pack/__generated__/IPackVRFDirect/write/openPackAndClaimRewards.d.ts +93 -0
  136. package/dist/types/extensions/pack/__generated__/IPackVRFDirect/write/openPackAndClaimRewards.d.ts.map +1 -0
  137. package/dist/types/extensions/pack/createNewPack.d.ts +104 -0
  138. package/dist/types/extensions/pack/createNewPack.d.ts.map +1 -0
  139. package/dist/types/extensions/prebuilts/__generated__/Pack/write/initialize.d.ts +121 -0
  140. package/dist/types/extensions/prebuilts/__generated__/Pack/write/initialize.d.ts.map +1 -0
  141. package/dist/types/extensions/prebuilts/deploy-pack.d.ts +62 -0
  142. package/dist/types/extensions/prebuilts/deploy-pack.d.ts.map +1 -0
  143. package/dist/types/rpc/watchBlockNumber.d.ts.map +1 -1
  144. package/dist/types/utils/sleep.d.ts +7 -0
  145. package/dist/types/utils/sleep.d.ts.map +1 -0
  146. package/dist/types/version.d.ts +1 -1
  147. package/dist/types/version.d.ts.map +1 -1
  148. package/dist/types/wallets/in-app/web/utils/iFrameCommunication/IframeCommunicator.d.ts.map +1 -1
  149. package/package.json +1 -1
  150. package/src/exports/deploys.ts +6 -0
  151. package/src/exports/extensions/pack.ts +42 -0
  152. package/src/extensions/erc1155/drops/read/getActiveClaimCondition.test.ts +6 -4
  153. package/src/extensions/erc721/drops/write/updateMetadata.test.ts +2 -2
  154. package/src/extensions/erc721/read/getTotalClaimedSupply.test.ts +2 -2
  155. package/src/extensions/erc721/read/getTotalUnclaimedSupply.test.ts +2 -2
  156. package/src/extensions/erc721/write/updateTokenURI.test.ts +2 -2
  157. package/src/extensions/pack/__generated__/IPack/events/PackCreated.ts +41 -0
  158. package/src/extensions/pack/__generated__/IPack/events/PackOpened.ts +47 -0
  159. package/src/extensions/pack/__generated__/IPack/events/PackUpdated.ts +41 -0
  160. package/src/extensions/pack/__generated__/IPack/read/canUpdatePack.ts +125 -0
  161. package/src/extensions/pack/__generated__/IPack/read/getPackContents.ts +148 -0
  162. package/src/extensions/pack/__generated__/IPack/read/getTokenCountOfBundle.ts +129 -0
  163. package/src/extensions/pack/__generated__/IPack/read/getTokenOfBundle.ts +151 -0
  164. package/src/extensions/pack/__generated__/IPack/read/getUriOfBundle.ts +125 -0
  165. package/src/extensions/pack/__generated__/IPack/write/addPackContents.ts +213 -0
  166. package/src/extensions/pack/__generated__/IPack/write/createPack.ts +239 -0
  167. package/src/extensions/pack/__generated__/IPack/write/openPack.ts +168 -0
  168. package/src/extensions/pack/__generated__/IPackVRFDirect/events/PackOpenRequested.ts +49 -0
  169. package/src/extensions/pack/__generated__/IPackVRFDirect/events/PackRandomnessFulfilled.ts +49 -0
  170. package/src/extensions/pack/__generated__/IPackVRFDirect/read/canClaimRewards.ts +125 -0
  171. package/src/extensions/pack/__generated__/IPackVRFDirect/write/claimRewards.ts +73 -0
  172. package/src/extensions/pack/__generated__/IPackVRFDirect/write/openPackAndClaimRewards.ts +177 -0
  173. package/src/extensions/pack/createNewPack.test.ts +207 -0
  174. package/src/extensions/pack/createNewPack.ts +433 -0
  175. package/src/extensions/prebuilts/__generated__/Pack/write/initialize.ts +216 -0
  176. package/src/extensions/prebuilts/deploy-erc20.test.ts +5 -3
  177. package/src/extensions/prebuilts/deploy-erc721.test.ts +6 -4
  178. package/src/extensions/prebuilts/deploy-pack.test.ts +23 -0
  179. package/src/extensions/prebuilts/deploy-pack.ts +173 -0
  180. package/src/extensions/prebuilts/deploy-split.test.ts +2 -2
  181. package/src/extensions/prebuilts/deploy-vote.test.ts +7 -5
  182. package/src/extensions/split/read/getAllRecipientsAddresses.test.ts +2 -2
  183. package/src/extensions/split/read/getAllRecipientsPercentages.test.ts +2 -2
  184. package/src/extensions/split/read/getRecipientSplitPercentage.test.ts +4 -2
  185. package/src/extensions/vote/read/proposalExists.test.ts +6 -6
  186. package/src/rpc/watchBlockNumber.ts +1 -8
  187. package/src/utils/sleep.ts +8 -0
  188. package/src/version.ts +1 -1
  189. package/src/wallets/in-app/web/utils/iFrameCommunication/IframeCommunicator.ts +5 -9
  190. package/src/wallets/smart/smart-wallet-integration-v07.test.ts +11 -8
  191. package/src/wallets/utils/getTokenBalance.test.ts +8 -6
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN_SELECTOR = void 0;
4
+ exports.isGetTokenOfBundleSupported = isGetTokenOfBundleSupported;
5
+ exports.encodeGetTokenOfBundleParams = encodeGetTokenOfBundleParams;
6
+ exports.encodeGetTokenOfBundle = encodeGetTokenOfBundle;
7
+ exports.decodeGetTokenOfBundleResult = decodeGetTokenOfBundleResult;
8
+ exports.getTokenOfBundle = getTokenOfBundle;
9
+ const read_contract_js_1 = require("../../../../../transaction/read-contract.js");
10
+ const encodeAbiParameters_js_1 = require("../../../../../utils/abi/encodeAbiParameters.js");
11
+ const viem_1 = require("viem");
12
+ const detectExtension_js_1 = require("../../../../../utils/bytecode/detectExtension.js");
13
+ exports.FN_SELECTOR = "0x1da799c9";
14
+ const FN_INPUTS = [
15
+ {
16
+ type: "uint256",
17
+ name: "_bundleId",
18
+ },
19
+ {
20
+ type: "uint256",
21
+ name: "index",
22
+ },
23
+ ];
24
+ const FN_OUTPUTS = [
25
+ {
26
+ type: "tuple",
27
+ components: [
28
+ {
29
+ type: "address",
30
+ name: "assetContract",
31
+ },
32
+ {
33
+ type: "uint8",
34
+ name: "tokenType",
35
+ },
36
+ {
37
+ type: "uint256",
38
+ name: "tokenId",
39
+ },
40
+ {
41
+ type: "uint256",
42
+ name: "totalAmount",
43
+ },
44
+ ],
45
+ },
46
+ ];
47
+ /**
48
+ * Checks if the `getTokenOfBundle` method is supported by the given contract.
49
+ * @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.
50
+ * @returns A boolean indicating if the `getTokenOfBundle` method is supported.
51
+ * @extension PACK
52
+ * @example
53
+ * ```ts
54
+ * import { isGetTokenOfBundleSupported } from "thirdweb/extensions/pack";
55
+ * const supported = isGetTokenOfBundleSupported(["0x..."]);
56
+ * ```
57
+ */
58
+ function isGetTokenOfBundleSupported(availableSelectors) {
59
+ return (0, detectExtension_js_1.detectMethod)({
60
+ availableSelectors,
61
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
62
+ });
63
+ }
64
+ /**
65
+ * Encodes the parameters for the "getTokenOfBundle" function.
66
+ * @param options - The options for the getTokenOfBundle function.
67
+ * @returns The encoded ABI parameters.
68
+ * @extension PACK
69
+ * @example
70
+ * ```ts
71
+ * import { encodeGetTokenOfBundleParams } from "thirdweb/extensions/pack";
72
+ * const result = encodeGetTokenOfBundleParams({
73
+ * bundleId: ...,
74
+ * index: ...,
75
+ * });
76
+ * ```
77
+ */
78
+ function encodeGetTokenOfBundleParams(options) {
79
+ return (0, encodeAbiParameters_js_1.encodeAbiParameters)(FN_INPUTS, [options.bundleId, options.index]);
80
+ }
81
+ /**
82
+ * Encodes the "getTokenOfBundle" function into a Hex string with its parameters.
83
+ * @param options - The options for the getTokenOfBundle function.
84
+ * @returns The encoded hexadecimal string.
85
+ * @extension PACK
86
+ * @example
87
+ * ```ts
88
+ * import { encodeGetTokenOfBundle } from "thirdweb/extensions/pack";
89
+ * const result = encodeGetTokenOfBundle({
90
+ * bundleId: ...,
91
+ * index: ...,
92
+ * });
93
+ * ```
94
+ */
95
+ function encodeGetTokenOfBundle(options) {
96
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
97
+ // we can do this because we know the specific formats of the values
98
+ return (exports.FN_SELECTOR +
99
+ encodeGetTokenOfBundleParams(options).slice(2));
100
+ }
101
+ /**
102
+ * Decodes the result of the getTokenOfBundle function call.
103
+ * @param result - The hexadecimal result to decode.
104
+ * @returns The decoded result as per the FN_OUTPUTS definition.
105
+ * @extension PACK
106
+ * @example
107
+ * ```ts
108
+ * import { decodeGetTokenOfBundleResult } from "thirdweb/extensions/pack";
109
+ * const result = decodeGetTokenOfBundleResultResult("...");
110
+ * ```
111
+ */
112
+ function decodeGetTokenOfBundleResult(result) {
113
+ return (0, viem_1.decodeAbiParameters)(FN_OUTPUTS, result)[0];
114
+ }
115
+ /**
116
+ * Calls the "getTokenOfBundle" function on the contract.
117
+ * @param options - The options for the getTokenOfBundle function.
118
+ * @returns The parsed result of the function call.
119
+ * @extension PACK
120
+ * @example
121
+ * ```ts
122
+ * import { getTokenOfBundle } from "thirdweb/extensions/pack";
123
+ *
124
+ * const result = await getTokenOfBundle({
125
+ * contract,
126
+ * bundleId: ...,
127
+ * index: ...,
128
+ * });
129
+ *
130
+ * ```
131
+ */
132
+ async function getTokenOfBundle(options) {
133
+ return (0, read_contract_js_1.readContract)({
134
+ contract: options.contract,
135
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
136
+ params: [options.bundleId, options.index],
137
+ });
138
+ }
139
+ //# sourceMappingURL=getTokenOfBundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTokenOfBundle.js","sourceRoot":"","sources":["../../../../../../../src/extensions/pack/__generated__/IPack/read/getTokenOfBundle.ts"],"names":[],"mappings":";;;AA8DA,kEAKC;AAgBD,oEAEC;AAgBD,wDAOC;AAaD,oEAEC;AAmBD,4CAQC;AArJD,kFAA2E;AAE3E,4FAAsF;AACtF,+BAA2C;AAE3C,yFAAgF;AAUnE,QAAA,WAAW,GAAG,YAAqB,CAAC;AACjD,MAAM,SAAS,GAAG;IAChB;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW;KAClB;IACD;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,OAAO;KACd;CACO,CAAC;AACX,MAAM,UAAU,GAAG;IACjB;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,eAAe;aACtB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,aAAa;aACpB;SACF;KACF;CACO,CAAC;AAEX;;;;;;;;;;GAUG;AACH,SAAgB,2BAA2B,CAAC,kBAA4B;IACtE,OAAO,IAAA,iCAAY,EAAC;QAClB,kBAAkB;QAClB,MAAM,EAAE,CAAC,mBAAW,EAAE,SAAS,EAAE,UAAU,CAAU;KACtD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,4BAA4B,CAAC,OAA+B;IAC1E,OAAO,IAAA,4CAAmB,EAAC,SAAS,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,sBAAsB,CAAC,OAA+B;IACpE,iFAAiF;IACjF,oEAAoE;IACpE,OAAO,CAAC,mBAAW;QACjB,4BAA4B,CAAC,OAAO,CAAC,CAAC,KAAK,CACzC,CAAC,CACF,CAAqC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,4BAA4B,CAAC,MAAW;IACtD,OAAO,IAAA,0BAAmB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,gBAAgB,CACpC,OAAuD;IAEvD,OAAO,IAAA,+BAAY,EAAC;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,mBAAW,EAAE,SAAS,EAAE,UAAU,CAAU;QACrD,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN_SELECTOR = void 0;
4
+ exports.isGetUriOfBundleSupported = isGetUriOfBundleSupported;
5
+ exports.encodeGetUriOfBundleParams = encodeGetUriOfBundleParams;
6
+ exports.encodeGetUriOfBundle = encodeGetUriOfBundle;
7
+ exports.decodeGetUriOfBundleResult = decodeGetUriOfBundleResult;
8
+ exports.getUriOfBundle = getUriOfBundle;
9
+ const read_contract_js_1 = require("../../../../../transaction/read-contract.js");
10
+ const encodeAbiParameters_js_1 = require("../../../../../utils/abi/encodeAbiParameters.js");
11
+ const viem_1 = require("viem");
12
+ const detectExtension_js_1 = require("../../../../../utils/bytecode/detectExtension.js");
13
+ exports.FN_SELECTOR = "0x61195e94";
14
+ const FN_INPUTS = [
15
+ {
16
+ type: "uint256",
17
+ name: "_bundleId",
18
+ },
19
+ ];
20
+ const FN_OUTPUTS = [
21
+ {
22
+ type: "string",
23
+ },
24
+ ];
25
+ /**
26
+ * Checks if the `getUriOfBundle` method is supported by the given contract.
27
+ * @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.
28
+ * @returns A boolean indicating if the `getUriOfBundle` method is supported.
29
+ * @extension PACK
30
+ * @example
31
+ * ```ts
32
+ * import { isGetUriOfBundleSupported } from "thirdweb/extensions/pack";
33
+ * const supported = isGetUriOfBundleSupported(["0x..."]);
34
+ * ```
35
+ */
36
+ function isGetUriOfBundleSupported(availableSelectors) {
37
+ return (0, detectExtension_js_1.detectMethod)({
38
+ availableSelectors,
39
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
40
+ });
41
+ }
42
+ /**
43
+ * Encodes the parameters for the "getUriOfBundle" function.
44
+ * @param options - The options for the getUriOfBundle function.
45
+ * @returns The encoded ABI parameters.
46
+ * @extension PACK
47
+ * @example
48
+ * ```ts
49
+ * import { encodeGetUriOfBundleParams } from "thirdweb/extensions/pack";
50
+ * const result = encodeGetUriOfBundleParams({
51
+ * bundleId: ...,
52
+ * });
53
+ * ```
54
+ */
55
+ function encodeGetUriOfBundleParams(options) {
56
+ return (0, encodeAbiParameters_js_1.encodeAbiParameters)(FN_INPUTS, [options.bundleId]);
57
+ }
58
+ /**
59
+ * Encodes the "getUriOfBundle" function into a Hex string with its parameters.
60
+ * @param options - The options for the getUriOfBundle function.
61
+ * @returns The encoded hexadecimal string.
62
+ * @extension PACK
63
+ * @example
64
+ * ```ts
65
+ * import { encodeGetUriOfBundle } from "thirdweb/extensions/pack";
66
+ * const result = encodeGetUriOfBundle({
67
+ * bundleId: ...,
68
+ * });
69
+ * ```
70
+ */
71
+ function encodeGetUriOfBundle(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 (exports.FN_SELECTOR +
75
+ encodeGetUriOfBundleParams(options).slice(2));
76
+ }
77
+ /**
78
+ * Decodes the result of the getUriOfBundle function call.
79
+ * @param result - The hexadecimal result to decode.
80
+ * @returns The decoded result as per the FN_OUTPUTS definition.
81
+ * @extension PACK
82
+ * @example
83
+ * ```ts
84
+ * import { decodeGetUriOfBundleResult } from "thirdweb/extensions/pack";
85
+ * const result = decodeGetUriOfBundleResultResult("...");
86
+ * ```
87
+ */
88
+ function decodeGetUriOfBundleResult(result) {
89
+ return (0, viem_1.decodeAbiParameters)(FN_OUTPUTS, result)[0];
90
+ }
91
+ /**
92
+ * Calls the "getUriOfBundle" function on the contract.
93
+ * @param options - The options for the getUriOfBundle function.
94
+ * @returns The parsed result of the function call.
95
+ * @extension PACK
96
+ * @example
97
+ * ```ts
98
+ * import { getUriOfBundle } from "thirdweb/extensions/pack";
99
+ *
100
+ * const result = await getUriOfBundle({
101
+ * contract,
102
+ * bundleId: ...,
103
+ * });
104
+ *
105
+ * ```
106
+ */
107
+ async function getUriOfBundle(options) {
108
+ return (0, read_contract_js_1.readContract)({
109
+ contract: options.contract,
110
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
111
+ params: [options.bundleId],
112
+ });
113
+ }
114
+ //# sourceMappingURL=getUriOfBundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUriOfBundle.js","sourceRoot":"","sources":["../../../../../../../src/extensions/pack/__generated__/IPack/read/getUriOfBundle.ts"],"names":[],"mappings":";;;AAuCA,8DAKC;AAeD,gEAEC;AAeD,oDAOC;AAaD,gEAEC;AAkBD,wCAQC;AA3HD,kFAA2E;AAE3E,4FAAsF;AACtF,+BAA2C;AAE3C,yFAAgF;AASnE,QAAA,WAAW,GAAG,YAAqB,CAAC;AACjD,MAAM,SAAS,GAAG;IAChB;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW;KAClB;CACO,CAAC;AACX,MAAM,UAAU,GAAG;IACjB;QACE,IAAI,EAAE,QAAQ;KACf;CACO,CAAC;AAEX;;;;;;;;;;GAUG;AACH,SAAgB,yBAAyB,CAAC,kBAA4B;IACpE,OAAO,IAAA,iCAAY,EAAC;QAClB,kBAAkB;QAClB,MAAM,EAAE,CAAC,mBAAW,EAAE,SAAS,EAAE,UAAU,CAAU;KACtD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,0BAA0B,CAAC,OAA6B;IACtE,OAAO,IAAA,4CAAmB,EAAC,SAAS,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,oBAAoB,CAAC,OAA6B;IAChE,iFAAiF;IACjF,oEAAoE;IACpE,OAAO,CAAC,mBAAW;QACjB,0BAA0B,CAAC,OAAO,CAAC,CAAC,KAAK,CACvC,CAAC,CACF,CAAqC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,0BAA0B,CAAC,MAAW;IACpD,OAAO,IAAA,0BAAmB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,cAAc,CAClC,OAAqD;IAErD,OAAO,IAAA,+BAAY,EAAC;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,mBAAW,EAAE,SAAS,EAAE,UAAU,CAAU;QACrD,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN_SELECTOR = void 0;
4
+ exports.isAddPackContentsSupported = isAddPackContentsSupported;
5
+ exports.encodeAddPackContentsParams = encodeAddPackContentsParams;
6
+ exports.encodeAddPackContents = encodeAddPackContents;
7
+ exports.addPackContents = addPackContents;
8
+ const prepare_contract_call_js_1 = require("../../../../../transaction/prepare-contract-call.js");
9
+ const encodeAbiParameters_js_1 = require("../../../../../utils/abi/encodeAbiParameters.js");
10
+ const once_js_1 = require("../../../../../utils/promise/once.js");
11
+ const detectExtension_js_1 = require("../../../../../utils/bytecode/detectExtension.js");
12
+ exports.FN_SELECTOR = "0xa96b1438";
13
+ const FN_INPUTS = [
14
+ {
15
+ type: "uint256",
16
+ name: "_packId",
17
+ },
18
+ {
19
+ type: "tuple[]",
20
+ name: "_contents",
21
+ components: [
22
+ {
23
+ type: "address",
24
+ name: "assetContract",
25
+ },
26
+ {
27
+ type: "uint8",
28
+ name: "tokenType",
29
+ },
30
+ {
31
+ type: "uint256",
32
+ name: "tokenId",
33
+ },
34
+ {
35
+ type: "uint256",
36
+ name: "totalAmount",
37
+ },
38
+ ],
39
+ },
40
+ {
41
+ type: "uint256[]",
42
+ name: "_numOfRewardUnits",
43
+ },
44
+ {
45
+ type: "address",
46
+ name: "_recipient",
47
+ },
48
+ ];
49
+ const FN_OUTPUTS = [
50
+ {
51
+ type: "uint256",
52
+ name: "packTotalSupply",
53
+ },
54
+ {
55
+ type: "uint256",
56
+ name: "newSupplyAdded",
57
+ },
58
+ ];
59
+ /**
60
+ * Checks if the `addPackContents` method is supported by the given contract.
61
+ * @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.
62
+ * @returns A boolean indicating if the `addPackContents` method is supported.
63
+ * @extension PACK
64
+ * @example
65
+ * ```ts
66
+ * import { isAddPackContentsSupported } from "thirdweb/extensions/pack";
67
+ *
68
+ * const supported = isAddPackContentsSupported(["0x..."]);
69
+ * ```
70
+ */
71
+ function isAddPackContentsSupported(availableSelectors) {
72
+ return (0, detectExtension_js_1.detectMethod)({
73
+ availableSelectors,
74
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
75
+ });
76
+ }
77
+ /**
78
+ * Encodes the parameters for the "addPackContents" function.
79
+ * @param options - The options for the addPackContents function.
80
+ * @returns The encoded ABI parameters.
81
+ * @extension PACK
82
+ * @example
83
+ * ```ts
84
+ * import { encodeAddPackContentsParams } from "thirdweb/extensions/pack";
85
+ * const result = encodeAddPackContentsParams({
86
+ * packId: ...,
87
+ * contents: ...,
88
+ * numOfRewardUnits: ...,
89
+ * recipient: ...,
90
+ * });
91
+ * ```
92
+ */
93
+ function encodeAddPackContentsParams(options) {
94
+ return (0, encodeAbiParameters_js_1.encodeAbiParameters)(FN_INPUTS, [
95
+ options.packId,
96
+ options.contents,
97
+ options.numOfRewardUnits,
98
+ options.recipient,
99
+ ]);
100
+ }
101
+ /**
102
+ * Encodes the "addPackContents" function into a Hex string with its parameters.
103
+ * @param options - The options for the addPackContents function.
104
+ * @returns The encoded hexadecimal string.
105
+ * @extension PACK
106
+ * @example
107
+ * ```ts
108
+ * import { encodeAddPackContents } from "thirdweb/extensions/pack";
109
+ * const result = encodeAddPackContents({
110
+ * packId: ...,
111
+ * contents: ...,
112
+ * numOfRewardUnits: ...,
113
+ * recipient: ...,
114
+ * });
115
+ * ```
116
+ */
117
+ function encodeAddPackContents(options) {
118
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
119
+ // we can do this because we know the specific formats of the values
120
+ return (exports.FN_SELECTOR +
121
+ encodeAddPackContentsParams(options).slice(2));
122
+ }
123
+ /**
124
+ * Prepares a transaction to call the "addPackContents" function on the contract.
125
+ * @param options - The options for the "addPackContents" function.
126
+ * @returns A prepared transaction object.
127
+ * @extension PACK
128
+ * @example
129
+ * ```ts
130
+ * import { sendTransaction } from "thirdweb";
131
+ * import { addPackContents } from "thirdweb/extensions/pack";
132
+ *
133
+ * const transaction = addPackContents({
134
+ * contract,
135
+ * packId: ...,
136
+ * contents: ...,
137
+ * numOfRewardUnits: ...,
138
+ * recipient: ...,
139
+ * overrides: {
140
+ * ...
141
+ * }
142
+ * });
143
+ *
144
+ * // Send the transaction
145
+ * await sendTransaction({ transaction, account });
146
+ * ```
147
+ */
148
+ function addPackContents(options) {
149
+ const asyncOptions = (0, once_js_1.once)(async () => {
150
+ return "asyncParams" in options ? await options.asyncParams() : options;
151
+ });
152
+ return (0, prepare_contract_call_js_1.prepareContractCall)({
153
+ contract: options.contract,
154
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
155
+ params: async () => {
156
+ const resolvedOptions = await asyncOptions();
157
+ return [
158
+ resolvedOptions.packId,
159
+ resolvedOptions.contents,
160
+ resolvedOptions.numOfRewardUnits,
161
+ resolvedOptions.recipient,
162
+ ];
163
+ },
164
+ value: async () => (await asyncOptions()).overrides?.value,
165
+ accessList: async () => (await asyncOptions()).overrides?.accessList,
166
+ gas: async () => (await asyncOptions()).overrides?.gas,
167
+ gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
168
+ maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
169
+ maxPriorityFeePerGas: async () => (await asyncOptions()).overrides?.maxPriorityFeePerGas,
170
+ nonce: async () => (await asyncOptions()).overrides?.nonce,
171
+ extraGas: async () => (await asyncOptions()).overrides?.extraGas,
172
+ erc20Value: async () => (await asyncOptions()).overrides?.erc20Value,
173
+ });
174
+ }
175
+ //# sourceMappingURL=addPackContents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addPackContents.js","sourceRoot":"","sources":["../../../../../../../src/extensions/pack/__generated__/IPack/write/addPackContents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN_SELECTOR = void 0;
4
+ exports.isCreatePackSupported = isCreatePackSupported;
5
+ exports.encodeCreatePackParams = encodeCreatePackParams;
6
+ exports.encodeCreatePack = encodeCreatePack;
7
+ exports.createPack = createPack;
8
+ const prepare_contract_call_js_1 = require("../../../../../transaction/prepare-contract-call.js");
9
+ const encodeAbiParameters_js_1 = require("../../../../../utils/abi/encodeAbiParameters.js");
10
+ const once_js_1 = require("../../../../../utils/promise/once.js");
11
+ const detectExtension_js_1 = require("../../../../../utils/bytecode/detectExtension.js");
12
+ exports.FN_SELECTOR = "0x092e6075";
13
+ const FN_INPUTS = [
14
+ {
15
+ type: "tuple[]",
16
+ name: "contents",
17
+ components: [
18
+ {
19
+ type: "address",
20
+ name: "assetContract",
21
+ },
22
+ {
23
+ type: "uint8",
24
+ name: "tokenType",
25
+ },
26
+ {
27
+ type: "uint256",
28
+ name: "tokenId",
29
+ },
30
+ {
31
+ type: "uint256",
32
+ name: "totalAmount",
33
+ },
34
+ ],
35
+ },
36
+ {
37
+ type: "uint256[]",
38
+ name: "numOfRewardUnits",
39
+ },
40
+ {
41
+ type: "string",
42
+ name: "packUri",
43
+ },
44
+ {
45
+ type: "uint128",
46
+ name: "openStartTimestamp",
47
+ },
48
+ {
49
+ type: "uint128",
50
+ name: "amountDistributedPerOpen",
51
+ },
52
+ {
53
+ type: "address",
54
+ name: "recipient",
55
+ },
56
+ ];
57
+ const FN_OUTPUTS = [
58
+ {
59
+ type: "uint256",
60
+ name: "packId",
61
+ },
62
+ {
63
+ type: "uint256",
64
+ name: "packTotalSupply",
65
+ },
66
+ ];
67
+ /**
68
+ * Checks if the `createPack` method is supported by the given contract.
69
+ * @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.
70
+ * @returns A boolean indicating if the `createPack` method is supported.
71
+ * @extension PACK
72
+ * @example
73
+ * ```ts
74
+ * import { isCreatePackSupported } from "thirdweb/extensions/pack";
75
+ *
76
+ * const supported = isCreatePackSupported(["0x..."]);
77
+ * ```
78
+ */
79
+ function isCreatePackSupported(availableSelectors) {
80
+ return (0, detectExtension_js_1.detectMethod)({
81
+ availableSelectors,
82
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
83
+ });
84
+ }
85
+ /**
86
+ * Encodes the parameters for the "createPack" function.
87
+ * @param options - The options for the createPack function.
88
+ * @returns The encoded ABI parameters.
89
+ * @extension PACK
90
+ * @example
91
+ * ```ts
92
+ * import { encodeCreatePackParams } from "thirdweb/extensions/pack";
93
+ * const result = encodeCreatePackParams({
94
+ * contents: ...,
95
+ * numOfRewardUnits: ...,
96
+ * packUri: ...,
97
+ * openStartTimestamp: ...,
98
+ * amountDistributedPerOpen: ...,
99
+ * recipient: ...,
100
+ * });
101
+ * ```
102
+ */
103
+ function encodeCreatePackParams(options) {
104
+ return (0, encodeAbiParameters_js_1.encodeAbiParameters)(FN_INPUTS, [
105
+ options.contents,
106
+ options.numOfRewardUnits,
107
+ options.packUri,
108
+ options.openStartTimestamp,
109
+ options.amountDistributedPerOpen,
110
+ options.recipient,
111
+ ]);
112
+ }
113
+ /**
114
+ * Encodes the "createPack" function into a Hex string with its parameters.
115
+ * @param options - The options for the createPack function.
116
+ * @returns The encoded hexadecimal string.
117
+ * @extension PACK
118
+ * @example
119
+ * ```ts
120
+ * import { encodeCreatePack } from "thirdweb/extensions/pack";
121
+ * const result = encodeCreatePack({
122
+ * contents: ...,
123
+ * numOfRewardUnits: ...,
124
+ * packUri: ...,
125
+ * openStartTimestamp: ...,
126
+ * amountDistributedPerOpen: ...,
127
+ * recipient: ...,
128
+ * });
129
+ * ```
130
+ */
131
+ function encodeCreatePack(options) {
132
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
133
+ // we can do this because we know the specific formats of the values
134
+ return (exports.FN_SELECTOR +
135
+ encodeCreatePackParams(options).slice(2));
136
+ }
137
+ /**
138
+ * Prepares a transaction to call the "createPack" function on the contract.
139
+ * @param options - The options for the "createPack" function.
140
+ * @returns A prepared transaction object.
141
+ * @extension PACK
142
+ * @example
143
+ * ```ts
144
+ * import { sendTransaction } from "thirdweb";
145
+ * import { createPack } from "thirdweb/extensions/pack";
146
+ *
147
+ * const transaction = createPack({
148
+ * contract,
149
+ * contents: ...,
150
+ * numOfRewardUnits: ...,
151
+ * packUri: ...,
152
+ * openStartTimestamp: ...,
153
+ * amountDistributedPerOpen: ...,
154
+ * recipient: ...,
155
+ * overrides: {
156
+ * ...
157
+ * }
158
+ * });
159
+ *
160
+ * // Send the transaction
161
+ * await sendTransaction({ transaction, account });
162
+ * ```
163
+ */
164
+ function createPack(options) {
165
+ const asyncOptions = (0, once_js_1.once)(async () => {
166
+ return "asyncParams" in options ? await options.asyncParams() : options;
167
+ });
168
+ return (0, prepare_contract_call_js_1.prepareContractCall)({
169
+ contract: options.contract,
170
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
171
+ params: async () => {
172
+ const resolvedOptions = await asyncOptions();
173
+ return [
174
+ resolvedOptions.contents,
175
+ resolvedOptions.numOfRewardUnits,
176
+ resolvedOptions.packUri,
177
+ resolvedOptions.openStartTimestamp,
178
+ resolvedOptions.amountDistributedPerOpen,
179
+ resolvedOptions.recipient,
180
+ ];
181
+ },
182
+ value: async () => (await asyncOptions()).overrides?.value,
183
+ accessList: async () => (await asyncOptions()).overrides?.accessList,
184
+ gas: async () => (await asyncOptions()).overrides?.gas,
185
+ gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
186
+ maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
187
+ maxPriorityFeePerGas: async () => (await asyncOptions()).overrides?.maxPriorityFeePerGas,
188
+ nonce: async () => (await asyncOptions()).overrides?.nonce,
189
+ extraGas: async () => (await asyncOptions()).overrides?.extraGas,
190
+ erc20Value: async () => (await asyncOptions()).overrides?.erc20Value,
191
+ });
192
+ }
193
+ //# sourceMappingURL=createPack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPack.js","sourceRoot":"","sources":["../../../../../../../src/extensions/pack/__generated__/IPack/write/createPack.ts"],"names":[],"mappings":"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"}