thirdweb 5.45.1 → 5.45.2-nightly-b15aa4cdff3f3b233025da285780668a18fe29ab-20240813000336

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 (82) 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/split.js +7 -1
  4. package/dist/cjs/exports/extensions/split.js.map +1 -1
  5. package/dist/cjs/extensions/prebuilts/__generated__/Split/write/initialize.js +157 -0
  6. package/dist/cjs/extensions/prebuilts/__generated__/Split/write/initialize.js.map +1 -0
  7. package/dist/cjs/extensions/prebuilts/deploy-split.js +79 -0
  8. package/dist/cjs/extensions/prebuilts/deploy-split.js.map +1 -0
  9. package/dist/cjs/extensions/split/__generated__/Split/read/totalShares.js +71 -0
  10. package/dist/cjs/extensions/split/__generated__/Split/read/totalShares.js.map +1 -0
  11. package/dist/cjs/extensions/split/read/getAllRecipientsAddresses.js +24 -0
  12. package/dist/cjs/extensions/split/read/getAllRecipientsAddresses.js.map +1 -0
  13. package/dist/cjs/extensions/split/read/getAllRecipientsPercentages.js +34 -0
  14. package/dist/cjs/extensions/split/read/getAllRecipientsPercentages.js.map +1 -0
  15. package/dist/cjs/extensions/split/read/getRecipientSplitPercentage.js +21 -0
  16. package/dist/cjs/extensions/split/read/getRecipientSplitPercentage.js.map +1 -0
  17. package/dist/cjs/react/core/hooks/auth/useSiweAuth.js +4 -0
  18. package/dist/cjs/react/core/hooks/auth/useSiweAuth.js.map +1 -1
  19. package/dist/cjs/react/core/hooks/others/useProfiles.js +1 -1
  20. package/dist/cjs/version.js +1 -1
  21. package/dist/cjs/version.js.map +1 -1
  22. package/dist/cjs/wallets/in-app/core/wallet/profiles.js +3 -3
  23. package/dist/esm/exports/deploys.js +1 -0
  24. package/dist/esm/exports/deploys.js.map +1 -1
  25. package/dist/esm/exports/extensions/split.js +3 -0
  26. package/dist/esm/exports/extensions/split.js.map +1 -1
  27. package/dist/esm/extensions/prebuilts/__generated__/Split/write/initialize.js +150 -0
  28. package/dist/esm/extensions/prebuilts/__generated__/Split/write/initialize.js.map +1 -0
  29. package/dist/esm/extensions/prebuilts/deploy-split.js +76 -0
  30. package/dist/esm/extensions/prebuilts/deploy-split.js.map +1 -0
  31. package/dist/esm/extensions/split/__generated__/Split/read/totalShares.js +65 -0
  32. package/dist/esm/extensions/split/__generated__/Split/read/totalShares.js.map +1 -0
  33. package/dist/esm/extensions/split/read/getAllRecipientsAddresses.js +21 -0
  34. package/dist/esm/extensions/split/read/getAllRecipientsAddresses.js.map +1 -0
  35. package/dist/esm/extensions/split/read/getAllRecipientsPercentages.js +31 -0
  36. package/dist/esm/extensions/split/read/getAllRecipientsPercentages.js.map +1 -0
  37. package/dist/esm/extensions/split/read/getRecipientSplitPercentage.js +18 -0
  38. package/dist/esm/extensions/split/read/getRecipientSplitPercentage.js.map +1 -0
  39. package/dist/esm/react/core/hooks/auth/useSiweAuth.js +4 -0
  40. package/dist/esm/react/core/hooks/auth/useSiweAuth.js.map +1 -1
  41. package/dist/esm/react/core/hooks/others/useProfiles.js +1 -1
  42. package/dist/esm/version.js +1 -1
  43. package/dist/esm/version.js.map +1 -1
  44. package/dist/esm/wallets/in-app/core/wallet/profiles.js +3 -3
  45. package/dist/types/exports/deploys.d.ts +1 -0
  46. package/dist/types/exports/deploys.d.ts.map +1 -1
  47. package/dist/types/exports/extensions/split.d.ts +3 -0
  48. package/dist/types/exports/extensions/split.d.ts.map +1 -1
  49. package/dist/types/extensions/prebuilts/__generated__/Split/write/initialize.d.ts +108 -0
  50. package/dist/types/extensions/prebuilts/__generated__/Split/write/initialize.d.ts.map +1 -0
  51. package/dist/types/extensions/prebuilts/deploy-split.d.ts +66 -0
  52. package/dist/types/extensions/prebuilts/deploy-split.d.ts.map +1 -0
  53. package/dist/types/extensions/split/__generated__/Split/read/totalShares.d.ts +46 -0
  54. package/dist/types/extensions/split/__generated__/Split/read/totalShares.d.ts.map +1 -0
  55. package/dist/types/extensions/split/read/getAllRecipientsAddresses.d.ts +14 -0
  56. package/dist/types/extensions/split/read/getAllRecipientsAddresses.d.ts.map +1 -0
  57. package/dist/types/extensions/split/read/getAllRecipientsPercentages.d.ts +27 -0
  58. package/dist/types/extensions/split/read/getAllRecipientsPercentages.d.ts.map +1 -0
  59. package/dist/types/extensions/split/read/getRecipientSplitPercentage.d.ts +21 -0
  60. package/dist/types/extensions/split/read/getRecipientSplitPercentage.d.ts.map +1 -0
  61. package/dist/types/react/core/hooks/auth/useSiweAuth.d.ts.map +1 -1
  62. package/dist/types/react/core/hooks/others/useProfiles.d.ts +1 -1
  63. package/dist/types/version.d.ts +1 -1
  64. package/dist/types/version.d.ts.map +1 -1
  65. package/dist/types/wallets/in-app/core/wallet/profiles.d.ts +3 -3
  66. package/package.json +1 -1
  67. package/src/exports/deploys.ts +5 -0
  68. package/src/exports/extensions/split.ts +8 -0
  69. package/src/extensions/prebuilts/__generated__/Split/write/initialize.ts +191 -0
  70. package/src/extensions/prebuilts/deploy-split.test.ts +31 -0
  71. package/src/extensions/prebuilts/deploy-split.ts +144 -0
  72. package/src/extensions/split/__generated__/Split/read/totalShares.ts +72 -0
  73. package/src/extensions/split/read/getAllRecipientsAddresses.test.ts +39 -0
  74. package/src/extensions/split/read/getAllRecipientsAddresses.ts +26 -0
  75. package/src/extensions/split/read/getAllRecipientsPercentages.test.ts +48 -0
  76. package/src/extensions/split/read/getAllRecipientsPercentages.ts +41 -0
  77. package/src/extensions/split/read/getRecipientSplitPercentage.test.ts +45 -0
  78. package/src/extensions/split/read/getRecipientSplitPercentage.ts +40 -0
  79. package/src/react/core/hooks/auth/useSiweAuth.ts +7 -0
  80. package/src/react/core/hooks/others/useProfiles.ts +1 -1
  81. package/src/version.ts +1 -1
  82. package/src/wallets/in-app/core/wallet/profiles.ts +3 -3
@@ -0,0 +1,150 @@
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 = "0xb1a14437";
6
+ const FN_INPUTS = [
7
+ {
8
+ type: "address",
9
+ name: "_defaultAdmin",
10
+ },
11
+ {
12
+ type: "string",
13
+ name: "_contractURI",
14
+ },
15
+ {
16
+ type: "address[]",
17
+ name: "_trustedForwarders",
18
+ },
19
+ {
20
+ type: "address[]",
21
+ name: "_payees",
22
+ },
23
+ {
24
+ type: "uint256[]",
25
+ name: "_shares",
26
+ },
27
+ ];
28
+ const FN_OUTPUTS = [];
29
+ /**
30
+ * Checks if the `initialize` method is supported by the given contract.
31
+ * @param contract The ThirdwebContract.
32
+ * @returns A promise that resolves to a boolean indicating if the `initialize` method is supported.
33
+ * @extension PREBUILTS
34
+ * @example
35
+ * ```ts
36
+ * import { isInitializeSupported } from "thirdweb/extensions/prebuilts";
37
+ *
38
+ * const supported = await isInitializeSupported(contract);
39
+ * ```
40
+ */
41
+ export async function isInitializeSupported(contract) {
42
+ return detectMethod({
43
+ contract,
44
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
45
+ });
46
+ }
47
+ /**
48
+ * Encodes the parameters for the "initialize" function.
49
+ * @param options - The options for the initialize function.
50
+ * @returns The encoded ABI parameters.
51
+ * @extension PREBUILTS
52
+ * @example
53
+ * ```ts
54
+ * import { encodeInitializeParams } "thirdweb/extensions/prebuilts";
55
+ * const result = encodeInitializeParams({
56
+ * defaultAdmin: ...,
57
+ * contractURI: ...,
58
+ * trustedForwarders: ...,
59
+ * payees: ...,
60
+ * shares: ...,
61
+ * });
62
+ * ```
63
+ */
64
+ export function encodeInitializeParams(options) {
65
+ return encodeAbiParameters(FN_INPUTS, [
66
+ options.defaultAdmin,
67
+ options.contractURI,
68
+ options.trustedForwarders,
69
+ options.payees,
70
+ options.shares,
71
+ ]);
72
+ }
73
+ /**
74
+ * Encodes the "initialize" function into a Hex string with its parameters.
75
+ * @param options - The options for the initialize function.
76
+ * @returns The encoded hexadecimal string.
77
+ * @extension PREBUILTS
78
+ * @example
79
+ * ```ts
80
+ * import { encodeInitialize } "thirdweb/extensions/prebuilts";
81
+ * const result = encodeInitialize({
82
+ * defaultAdmin: ...,
83
+ * contractURI: ...,
84
+ * trustedForwarders: ...,
85
+ * payees: ...,
86
+ * shares: ...,
87
+ * });
88
+ * ```
89
+ */
90
+ export function encodeInitialize(options) {
91
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
92
+ // we can do this because we know the specific formats of the values
93
+ return (FN_SELECTOR +
94
+ encodeInitializeParams(options).slice(2));
95
+ }
96
+ /**
97
+ * Prepares a transaction to call the "initialize" function on the contract.
98
+ * @param options - The options for the "initialize" function.
99
+ * @returns A prepared transaction object.
100
+ * @extension PREBUILTS
101
+ * @example
102
+ * ```ts
103
+ * import { initialize } from "thirdweb/extensions/prebuilts";
104
+ *
105
+ * const transaction = initialize({
106
+ * contract,
107
+ * defaultAdmin: ...,
108
+ * contractURI: ...,
109
+ * trustedForwarders: ...,
110
+ * payees: ...,
111
+ * shares: ...,
112
+ * overrides: {
113
+ * ...
114
+ * }
115
+ * });
116
+ *
117
+ * // Send the transaction
118
+ * ...
119
+ *
120
+ * ```
121
+ */
122
+ export function initialize(options) {
123
+ const asyncOptions = once(async () => {
124
+ return "asyncParams" in options ? await options.asyncParams() : options;
125
+ });
126
+ return prepareContractCall({
127
+ contract: options.contract,
128
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
129
+ params: async () => {
130
+ const resolvedOptions = await asyncOptions();
131
+ return [
132
+ resolvedOptions.defaultAdmin,
133
+ resolvedOptions.contractURI,
134
+ resolvedOptions.trustedForwarders,
135
+ resolvedOptions.payees,
136
+ resolvedOptions.shares,
137
+ ];
138
+ },
139
+ value: async () => (await asyncOptions()).overrides?.value,
140
+ accessList: async () => (await asyncOptions()).overrides?.accessList,
141
+ gas: async () => (await asyncOptions()).overrides?.gas,
142
+ gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
143
+ maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
144
+ maxPriorityFeePerGas: async () => (await asyncOptions()).overrides?.maxPriorityFeePerGas,
145
+ nonce: async () => (await asyncOptions()).overrides?.nonce,
146
+ extraGas: async () => (await asyncOptions()).overrides?.extraGas,
147
+ erc20Value: async () => (await asyncOptions()).overrides?.erc20Value,
148
+ });
149
+ }
150
+ //# sourceMappingURL=initialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../../../src/extensions/prebuilts/__generated__/Split/write/initialize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { deployViaAutoFactory } from "../../contract/deployment/deploy-via-autofactory.js";
2
+ import { getOrDeployInfraForPublishedContract } from "../../contract/deployment/utils/bootstrap.js";
3
+ import { upload } from "../../storage/upload.js";
4
+ import { initialize } from "./__generated__/Split/write/initialize.js";
5
+ /**
6
+ * Deploys a thirdweb [`Split contract`](https://thirdweb.com/thirdweb.eth/Split)
7
+ * On chains where the thirdweb infrastructure contracts are not deployed, this function will deploy them as well.
8
+ * @param options - The deployment options.
9
+ * @returns The deployed contract address.
10
+ * @extension DEPLOY
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import { deploySplitContract } from "thirdweb/deploys";
15
+ * const contractAddress = await deploySplitContract({
16
+ * chain,
17
+ * client,
18
+ * account,
19
+ * params: {
20
+ * name: "Split contract",
21
+ * payees: ["0x...123", "0x...456"],
22
+ * shares: [5100, 4900], // See type `SplitContractParams` for more context
23
+ * });
24
+ * ```
25
+ */
26
+ export async function deploySplitContract(options) {
27
+ const { chain, client, account, params } = options;
28
+ const { cloneFactoryContract, implementationContract } = await getOrDeployInfraForPublishedContract({
29
+ chain,
30
+ client,
31
+ account,
32
+ contractId: "Split",
33
+ constructorParams: [],
34
+ });
35
+ const initializeTransaction = await getInitializeTransaction({
36
+ client,
37
+ implementationContract,
38
+ params,
39
+ accountAddress: account.address,
40
+ });
41
+ return deployViaAutoFactory({
42
+ client,
43
+ chain,
44
+ account,
45
+ cloneFactoryContract,
46
+ initializeTransaction,
47
+ });
48
+ }
49
+ async function getInitializeTransaction(options) {
50
+ const { client, implementationContract, params, accountAddress } = options;
51
+ const { name, description, symbol, image, external_link, social_urls, payees, shares, } = params;
52
+ const contractURI = params.contractURI ||
53
+ (await upload({
54
+ client,
55
+ files: [
56
+ {
57
+ name,
58
+ description,
59
+ symbol,
60
+ image,
61
+ external_link,
62
+ social_urls,
63
+ },
64
+ ],
65
+ })) ||
66
+ "";
67
+ return initialize({
68
+ contract: implementationContract,
69
+ defaultAdmin: params.defaultAdmin || accountAddress,
70
+ contractURI,
71
+ trustedForwarders: params.trustedForwarders || [],
72
+ payees,
73
+ shares,
74
+ });
75
+ }
76
+ //# sourceMappingURL=deploy-split.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-split.js","sourceRoot":"","sources":["../../../../src/extensions/prebuilts/deploy-split.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAC3F,OAAO,EAAE,oCAAoC,EAAE,MAAM,8CAA8C,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAIjD,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AA+CvE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAmC;IAC3E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACnD,MAAM,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,GACpD,MAAM,oCAAoC,CAAC;QACzC,KAAK;QACL,MAAM;QACN,OAAO;QACP,UAAU,EAAE,OAAO;QACnB,iBAAiB,EAAE,EAAE;KACtB,CAAC,CAAC;IACL,MAAM,qBAAqB,GAAG,MAAM,wBAAwB,CAAC;QAC3D,MAAM;QACN,sBAAsB;QACtB,MAAM;QACN,cAAc,EAAE,OAAO,CAAC,OAAO;KAChC,CAAC,CAAC;IAEH,OAAO,oBAAoB,CAAC;QAC1B,MAAM;QACN,KAAK;QACL,OAAO;QACP,oBAAoB;QACpB,qBAAqB;KACtB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,OAKvC;IACC,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAC3E,MAAM,EACJ,IAAI,EACJ,WAAW,EACX,MAAM,EACN,KAAK,EACL,aAAa,EACb,WAAW,EACX,MAAM,EACN,MAAM,GACP,GAAG,MAAM,CAAC;IACX,MAAM,WAAW,GACf,MAAM,CAAC,WAAW;QAClB,CAAC,MAAM,MAAM,CAAC;YACZ,MAAM;YACN,KAAK,EAAE;gBACL;oBACE,IAAI;oBACJ,WAAW;oBACX,MAAM;oBACN,KAAK;oBACL,aAAa;oBACb,WAAW;iBACZ;aACF;SACF,CAAC,CAAC;QACH,EAAE,CAAC;IACL,OAAO,UAAU,CAAC;QAChB,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,cAAc;QACnD,WAAW;QACX,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE;QACjD,MAAM;QACN,MAAM;KACP,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,65 @@
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 = "0x3a98ef39";
5
+ const FN_INPUTS = [];
6
+ const FN_OUTPUTS = [
7
+ {
8
+ type: "uint256",
9
+ },
10
+ ];
11
+ /**
12
+ * Checks if the `totalShares` method is supported by the given contract.
13
+ * @param contract The ThirdwebContract.
14
+ * @returns A promise that resolves to a boolean indicating if the `totalShares` method is supported.
15
+ * @extension SPLIT
16
+ * @example
17
+ * ```ts
18
+ * import { isTotalSharesSupported } from "thirdweb/extensions/split";
19
+ *
20
+ * const supported = await isTotalSharesSupported(contract);
21
+ * ```
22
+ */
23
+ export async function isTotalSharesSupported(contract) {
24
+ return detectMethod({
25
+ contract,
26
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
27
+ });
28
+ }
29
+ /**
30
+ * Decodes the result of the totalShares function call.
31
+ * @param result - The hexadecimal result to decode.
32
+ * @returns The decoded result as per the FN_OUTPUTS definition.
33
+ * @extension SPLIT
34
+ * @example
35
+ * ```ts
36
+ * import { decodeTotalSharesResult } from "thirdweb/extensions/split";
37
+ * const result = decodeTotalSharesResult("...");
38
+ * ```
39
+ */
40
+ export function decodeTotalSharesResult(result) {
41
+ return decodeAbiParameters(FN_OUTPUTS, result)[0];
42
+ }
43
+ /**
44
+ * Calls the "totalShares" function on the contract.
45
+ * @param options - The options for the totalShares function.
46
+ * @returns The parsed result of the function call.
47
+ * @extension SPLIT
48
+ * @example
49
+ * ```ts
50
+ * import { totalShares } from "thirdweb/extensions/split";
51
+ *
52
+ * const result = await totalShares({
53
+ * contract,
54
+ * });
55
+ *
56
+ * ```
57
+ */
58
+ export async function totalShares(options) {
59
+ return readContract({
60
+ contract: options.contract,
61
+ method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
62
+ params: [],
63
+ });
64
+ }
65
+ //# sourceMappingURL=totalShares.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"totalShares.js","sourceRoot":"","sources":["../../../../../../../src/extensions/split/__generated__/Split/read/totalShares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAG3C,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;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,QAA+B;IAC1E,OAAO,YAAY,CAAC;QAClB,QAAQ;QACR,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAU;KACtD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAW;IACjD,OAAO,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA+B;IAC/D,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,21 @@
1
+ import { payee } from "../__generated__/Split/read/payee.js";
2
+ import { payeeCount } from "../__generated__/Split/read/payeeCount.js";
3
+ /**
4
+ * Get the addresses of all recipients of a [`thirdweb Split contract`](https://thirdweb.com/thirdweb.eth/Split)
5
+ * @extension SPLIT
6
+ * @returns an array of wallet addresses
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { getAllRecipientsAddresses } from "thirdweb/extensions/split";
11
+ *
12
+ * const addresses = await getAllRecipientsAddresses({ contract });
13
+ */
14
+ export async function getAllRecipientsAddresses(options) {
15
+ const { contract } = options;
16
+ const _totalRecipients = await payeeCount(options);
17
+ const indexes = Array.from({ length: Number(_totalRecipients) }, (_, i) => i);
18
+ const recipientAddresses = await Promise.all(indexes.map((index) => payee({ contract, index: BigInt(index) })));
19
+ return recipientAddresses;
20
+ }
21
+ //# sourceMappingURL=getAllRecipientsAddresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAllRecipientsAddresses.js","sourceRoot":"","sources":["../../../../../src/extensions/split/read/getAllRecipientsAddresses.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAA+B;IAE/B,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAClE,CAAC;IACF,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { getAllRecipientsAddresses } from "./getAllRecipientsAddresses.js";
2
+ import { getRecipientSplitPercentage, } from "./getRecipientSplitPercentage.js";
3
+ /**
4
+ * Get all the recipients of a Split contracts
5
+ * @extension SPLIT
6
+ * @returns an array of recipients' addresses and split percentage of each
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { getAllRecipientsPercentages } from "thirdweb/extensions/split";
11
+ *
12
+ * const allRecipients = await getAllRecipientsPercentages({ contract });
13
+ * // Example result:
14
+ * [
15
+ * {
16
+ * address: "0x1...",
17
+ * splitPercentage: 25, // 25%
18
+ * },
19
+ * {
20
+ * address: "0x2...",
21
+ * splitPercentage: 75, // 75%
22
+ * },
23
+ * ];
24
+ * ```
25
+ */
26
+ export async function getAllRecipientsPercentages(options) {
27
+ const { contract } = options;
28
+ const recipientAddresses = await getAllRecipientsAddresses({ contract });
29
+ return await Promise.all(recipientAddresses.map((recipientAddress) => getRecipientSplitPercentage({ contract, recipientAddress })));
30
+ }
31
+ //# sourceMappingURL=getAllRecipientsPercentages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAllRecipientsPercentages.js","sourceRoot":"","sources":["../../../../../src/extensions/split/read/getAllRecipientsPercentages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAEL,2BAA2B,GAC5B,MAAM,kCAAkC,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAA+B;IAE/B,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,kBAAkB,GAAG,MAAM,yBAAyB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,kBAAkB,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAC1C,2BAA2B,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAC5D,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { shares } from "../__generated__/Split/read/shares.js";
2
+ import { totalShares } from "../__generated__/Split/read/totalShares.js";
3
+ export async function getRecipientSplitPercentage(options) {
4
+ const { contract, recipientAddress } = options;
5
+ const [_totalShares, walletsShares] = await Promise.all([
6
+ totalShares({ contract }),
7
+ shares({ contract, account: recipientAddress }),
8
+ ]);
9
+ // We convert to basis points to avoid floating point loss of precision
10
+ // 7544n -> 75.44 (75.44 %)
11
+ // also we don't have to worry about number overflow in this particular context
12
+ const splitPercentage = (Number(walletsShares) * 1e7) / Number(_totalShares) / 1e5;
13
+ return {
14
+ address: recipientAddress,
15
+ splitPercentage,
16
+ };
17
+ }
18
+ //# sourceMappingURL=getRecipientSplitPercentage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRecipientSplitPercentage.js","sourceRoot":"","sources":["../../../../../src/extensions/split/read/getRecipientSplitPercentage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAoBzE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAA6D;IAE7D,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtD,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;KAChD,CAAC,CAAC;IACH,uEAAuE;IACvE,2BAA2B;IAC3B,+EAA+E;IAC/E,MAAM,eAAe,GACnB,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;IAC7D,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,eAAe;KAChB,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
2
+ import { getCachedChain } from "../../../../chains/utils.js";
2
3
  /**
3
4
  * @internal
4
5
  */
@@ -42,6 +43,9 @@ export function useSiweAuth(activeWallet, activeAccount, authOptions) {
42
43
  // we lazy-load this because it's only needed when logging in
43
44
  import("../../../../auth/core/sign-login-payload.js"),
44
45
  ]);
46
+ if (payload.chain_id) {
47
+ await activeWallet.switchChain(getCachedChain(Number(payload.chain_id)));
48
+ }
45
49
  const signedPayload = await signLoginPayload({
46
50
  payload,
47
51
  account: activeAccount,
@@ -1 +1 @@
1
- {"version":3,"file":"useSiweAuth.js","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/auth/useSiweAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSiweAuth.js","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/auth/useSiweAuth.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { useQuery } from "@tanstack/react-query";
2
2
  import { getProfiles } from "../../../../wallets/in-app/core/wallet/profiles.js";
3
3
  import { useActiveWallet } from "../wallets/useActiveWallet.js";
4
4
  /**
5
- * @description Retrieves all linked profiles for the current wallet.
5
+ * Retrieves all linked profiles for the current wallet.
6
6
  *
7
7
  * @returns A React Query result containing the linked profiles for the connected in-app wallet.
8
8
  *
@@ -1,2 +1,2 @@
1
- export const version = "5.45.1";
1
+ export const version = "5.45.2-nightly-b15aa4cdff3f3b233025da285780668a18fe29ab-20240813000336";
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,wEAAwE,CAAC"}
@@ -1,5 +1,4 @@
1
1
  /**
2
- * @description
3
2
  * Gets the linked profiles for the provided wallet.
4
3
  * This method is only available for in-app wallets.
5
4
  *
@@ -17,6 +16,7 @@
17
16
  * console.log(profiles[0].type);
18
17
  * console.log(profiles[0].details.email);
19
18
  * ```
19
+ * @wallet
20
20
  */
21
21
  export async function getProfiles(wallet) {
22
22
  if (wallet.id !== "inApp") {
@@ -25,10 +25,9 @@ export async function getProfiles(wallet) {
25
25
  return wallet.getProfiles();
26
26
  }
27
27
  /**
28
- * @description
29
28
  * Connects a new profile (authentication method) to the current user.
30
29
  * The connected profile can be any valid in-app wallet including email, phone, passkey, etc.
31
- * The inputs mirror those used when authenticating normally, @see {@link Wallet.connect}
30
+ * The inputs mirror those used when authenticating normally.
32
31
  *
33
32
  * **When a profile is linked to the account, that profile can then be used to sign into the account.**
34
33
  *
@@ -46,6 +45,7 @@ export async function getProfiles(wallet) {
46
45
  * await wallet.connect({ strategy: "google" });
47
46
  * const profiles = await linkProfile(wallet, { strategy: "discord" });
48
47
  * ```
48
+ * @wallet
49
49
  */
50
50
  export async function linkProfile(wallet, auth) {
51
51
  if (wallet.id !== "inApp") {
@@ -8,4 +8,5 @@ export { prepareDeterministicDeployTransaction } from "../contract/deployment/de
8
8
  export { deployViaAutoFactory } from "../contract/deployment/deploy-via-autofactory.js";
9
9
  export { deployContract, type PrepareDirectDeployTransactionOptions, } from "../contract/deployment/deploy-with-abi.js";
10
10
  export { computePublishedContractAddress } from "../utils/any-evm/compute-published-contract-address.js";
11
+ export { deploySplitContract, type SplitContractParams, type DeploySplitContractOptions, } from "../extensions/prebuilts/deploy-split.js";
11
12
  //# sourceMappingURL=deploys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploys.d.ts","sourceRoot":"","sources":["../../../src/exports/deploys.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,mBAAmB,GACpB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,oBAAoB,GACrB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,qBAAqB,GACtB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,GACpC,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,mCAAmC,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,EAAE,qCAAqC,EAAE,MAAM,gDAAgD,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EACL,cAAc,EACd,KAAK,qCAAqC,GAC3C,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wDAAwD,CAAC"}
1
+ {"version":3,"file":"deploys.d.ts","sourceRoot":"","sources":["../../../src/exports/deploys.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,mBAAmB,GACpB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,oBAAoB,GACrB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,qBAAqB,GACtB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,GACpC,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,mCAAmC,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,EAAE,qCAAqC,EAAE,MAAM,gDAAgD,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EACL,cAAc,EACd,KAAK,qCAAqC,GAC3C,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wDAAwD,CAAC;AACzG,OAAO,EACL,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,GAChC,MAAM,yCAAyC,CAAC"}
@@ -10,6 +10,9 @@ export { releasedByToken } from "../../extensions/split/read/releasedByToken.js"
10
10
  export { shares, type SharesParams, } from "../../extensions/split/__generated__/Split/read/shares.js";
11
11
  export { totalReleased } from "../../extensions/split/__generated__/Split/read/totalReleased.js";
12
12
  export { totalReleasedByToken } from "../../extensions/split/read/totalReleasedByToken.js";
13
+ export { getAllRecipientsAddresses } from "../../extensions/split/read/getAllRecipientsAddresses.js";
14
+ export { getAllRecipientsPercentages } from "../../extensions/split/read/getAllRecipientsPercentages.js";
15
+ export { getRecipientSplitPercentage, type SplitRecipient, } from "../../extensions/split/read/getRecipientSplitPercentage.js";
13
16
  /**
14
17
  * WRITE
15
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../../../src/exports/extensions/split.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,KAAK,EACL,KAAK,WAAW,GACjB,MAAM,0DAA0D,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,+DAA+D,CAAC;AAE3F,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,GACtB,MAAM,+DAA+D,CAAC;AAEvE,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,GAC7B,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EACL,QAAQ,EACR,KAAK,cAAc,GACpB,MAAM,6DAA6D,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAEjF,OAAO,EACL,MAAM,EACN,KAAK,YAAY,GAClB,MAAM,2DAA2D,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,kEAAkE,CAAC;AAEjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAE3F;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,gEAAgE,CAAC;AAE5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAEtF,OAAO,EACL,OAAO,EACP,KAAK,aAAa,GACnB,MAAM,6DAA6D,CAAC;AAErE,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,GAC1B,MAAM,gDAAgD,CAAC"}
1
+ {"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../../../src/exports/extensions/split.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,KAAK,EACL,KAAK,WAAW,GACjB,MAAM,0DAA0D,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,+DAA+D,CAAC;AAE3F,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,GACtB,MAAM,+DAA+D,CAAC;AAEvE,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,GAC7B,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EACL,QAAQ,EACR,KAAK,cAAc,GACpB,MAAM,6DAA6D,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAEjF,OAAO,EACL,MAAM,EACN,KAAK,YAAY,GAClB,MAAM,2DAA2D,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,kEAAkE,CAAC;AAEjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAE3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AAErG,OAAO,EAAE,2BAA2B,EAAE,MAAM,4DAA4D,CAAC;AAEzG,OAAO,EACL,2BAA2B,EAC3B,KAAK,cAAc,GACpB,MAAM,4DAA4D,CAAC;AACpE;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,gEAAgE,CAAC;AAE5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAEtF,OAAO,EACL,OAAO,EACP,KAAK,aAAa,GACnB,MAAM,6DAA6D,CAAC;AAErE,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,GAC1B,MAAM,gDAAgD,CAAC"}
@@ -0,0 +1,108 @@
1
+ import type { AbiParameterToPrimitiveType } from "abitype";
2
+ import type { BaseTransactionOptions, WithOverrides } from "../../../../../transaction/types.js";
3
+ import type { ThirdwebContract } from "../../../../../contract/contract.js";
4
+ /**
5
+ * Represents the parameters for the "initialize" function.
6
+ */
7
+ export type InitializeParams = WithOverrides<{
8
+ defaultAdmin: AbiParameterToPrimitiveType<{
9
+ type: "address";
10
+ name: "_defaultAdmin";
11
+ }>;
12
+ contractURI: AbiParameterToPrimitiveType<{
13
+ type: "string";
14
+ name: "_contractURI";
15
+ }>;
16
+ trustedForwarders: AbiParameterToPrimitiveType<{
17
+ type: "address[]";
18
+ name: "_trustedForwarders";
19
+ }>;
20
+ payees: AbiParameterToPrimitiveType<{
21
+ type: "address[]";
22
+ name: "_payees";
23
+ }>;
24
+ shares: AbiParameterToPrimitiveType<{
25
+ type: "uint256[]";
26
+ name: "_shares";
27
+ }>;
28
+ }>;
29
+ export declare const FN_SELECTOR: "0xb1a14437";
30
+ /**
31
+ * Checks if the `initialize` method is supported by the given contract.
32
+ * @param contract The ThirdwebContract.
33
+ * @returns A promise that resolves to a boolean indicating if the `initialize` method is supported.
34
+ * @extension PREBUILTS
35
+ * @example
36
+ * ```ts
37
+ * import { isInitializeSupported } from "thirdweb/extensions/prebuilts";
38
+ *
39
+ * const supported = await isInitializeSupported(contract);
40
+ * ```
41
+ */
42
+ export declare function isInitializeSupported(contract: ThirdwebContract<any>): Promise<boolean>;
43
+ /**
44
+ * Encodes the parameters for the "initialize" function.
45
+ * @param options - The options for the initialize function.
46
+ * @returns The encoded ABI parameters.
47
+ * @extension PREBUILTS
48
+ * @example
49
+ * ```ts
50
+ * import { encodeInitializeParams } "thirdweb/extensions/prebuilts";
51
+ * const result = encodeInitializeParams({
52
+ * defaultAdmin: ...,
53
+ * contractURI: ...,
54
+ * trustedForwarders: ...,
55
+ * payees: ...,
56
+ * shares: ...,
57
+ * });
58
+ * ```
59
+ */
60
+ export declare function encodeInitializeParams(options: InitializeParams): `0x${string}`;
61
+ /**
62
+ * Encodes the "initialize" function into a Hex string with its parameters.
63
+ * @param options - The options for the initialize function.
64
+ * @returns The encoded hexadecimal string.
65
+ * @extension PREBUILTS
66
+ * @example
67
+ * ```ts
68
+ * import { encodeInitialize } "thirdweb/extensions/prebuilts";
69
+ * const result = encodeInitialize({
70
+ * defaultAdmin: ...,
71
+ * contractURI: ...,
72
+ * trustedForwarders: ...,
73
+ * payees: ...,
74
+ * shares: ...,
75
+ * });
76
+ * ```
77
+ */
78
+ export declare function encodeInitialize(options: InitializeParams): `${typeof FN_SELECTOR}${string}`;
79
+ /**
80
+ * Prepares a transaction to call the "initialize" function on the contract.
81
+ * @param options - The options for the "initialize" function.
82
+ * @returns A prepared transaction object.
83
+ * @extension PREBUILTS
84
+ * @example
85
+ * ```ts
86
+ * import { initialize } from "thirdweb/extensions/prebuilts";
87
+ *
88
+ * const transaction = initialize({
89
+ * contract,
90
+ * defaultAdmin: ...,
91
+ * contractURI: ...,
92
+ * trustedForwarders: ...,
93
+ * payees: ...,
94
+ * shares: ...,
95
+ * overrides: {
96
+ * ...
97
+ * }
98
+ * });
99
+ *
100
+ * // Send the transaction
101
+ * ...
102
+ *
103
+ * ```
104
+ */
105
+ export declare function initialize(options: BaseTransactionOptions<InitializeParams | {
106
+ asyncParams: () => Promise<InitializeParams>;
107
+ }>): import("../../../../../transaction/prepare-transaction.js").PreparedTransaction<any, import("abitype").AbiFunction, import("../../../../../transaction/prepare-transaction.js").PrepareTransactionOptions>;
108
+ //# sourceMappingURL=initialize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../../../../../../src/extensions/prebuilts/__generated__/Split/write/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACd,MAAM,qCAAqC,CAAC;AAI7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAG5E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC;IAC3C,YAAY,EAAE,2BAA2B,CAAC;QACxC,IAAI,EAAE,SAAS,CAAC;QAChB,IAAI,EAAE,eAAe,CAAC;KACvB,CAAC,CAAC;IACH,WAAW,EAAE,2BAA2B,CAAC;QACvC,IAAI,EAAE,QAAQ,CAAC;QACf,IAAI,EAAE,cAAc,CAAC;KACtB,CAAC,CAAC;IACH,iBAAiB,EAAE,2BAA2B,CAAC;QAC7C,IAAI,EAAE,WAAW,CAAC;QAClB,IAAI,EAAE,oBAAoB,CAAC;KAC5B,CAAC,CAAC;IACH,MAAM,EAAE,2BAA2B,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IAC5E,MAAM,EAAE,2BAA2B,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CAC7E,CAAC,CAAC;AAEH,eAAO,MAAM,WAAW,cAAwB,CAAC;AAyBjD;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,oBAK1E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,iBAQ/D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAMhD,GAAG,OAAO,WAAW,GAAG,MAAM,EAAE,CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,sBAAsB,CAC3B,gBAAgB,GAChB;IACE,WAAW,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9C,CACJ,8MA8BF"}