thirdweb 5.92.1 → 5.92.2-nightly-6fc6c6e6814673d246a206e3cc381f71c32a8af9-20250313000330
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/prebuilts/compute-ref-deployments.js +118 -0
- package/dist/cjs/extensions/prebuilts/compute-ref-deployments.js.map +1 -0
- package/dist/cjs/extensions/prebuilts/process-ref-deployments.js +7 -2
- package/dist/cjs/extensions/prebuilts/process-ref-deployments.js.map +1 -1
- package/dist/cjs/react/core/utils/wallet.js +1 -1
- package/dist/cjs/utils/any-evm/compute-published-contract-deploy-info.js +15 -1
- package/dist/cjs/utils/any-evm/compute-published-contract-deploy-info.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/extensions/prebuilts/compute-ref-deployments.js +115 -0
- package/dist/esm/extensions/prebuilts/compute-ref-deployments.js.map +1 -0
- package/dist/esm/extensions/prebuilts/process-ref-deployments.js +7 -2
- package/dist/esm/extensions/prebuilts/process-ref-deployments.js.map +1 -1
- package/dist/esm/react/core/utils/wallet.js +1 -1
- package/dist/esm/utils/any-evm/compute-published-contract-deploy-info.js +15 -1
- package/dist/esm/utils/any-evm/compute-published-contract-deploy-info.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/types/extensions/prebuilts/compute-ref-deployments.d.ts +16 -0
- package/dist/types/extensions/prebuilts/compute-ref-deployments.d.ts.map +1 -0
- package/dist/types/extensions/prebuilts/process-ref-deployments.d.ts +5 -0
- package/dist/types/extensions/prebuilts/process-ref-deployments.d.ts.map +1 -1
- package/dist/types/react/core/utils/wallet.d.ts +1 -1
- package/dist/types/utils/any-evm/compute-published-contract-deploy-info.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/extensions/prebuilts/compute-ref-deployments.ts +161 -0
- package/src/extensions/prebuilts/process-ref-deployments.test.ts +73 -11
- package/src/extensions/prebuilts/process-ref-deployments.ts +7 -2
- package/src/react/core/utils/wallet.ts +1 -1
- package/src/utils/any-evm/compute-published-contract-deploy-info.ts +20 -1
- package/src/version.ts +1 -1
@@ -0,0 +1,118 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.computeRefDeployments = computeRefDeployments;
|
4
|
+
const encodeAbiParameters_js_1 = require("../../utils/abi/encodeAbiParameters.js");
|
5
|
+
const compute_published_contract_address_js_1 = require("../../utils/any-evm/compute-published-contract-address.js");
|
6
|
+
/**
|
7
|
+
* Computes addresses for published contract references in constructor params.
|
8
|
+
* @returns Param value after processing references.
|
9
|
+
* @internal
|
10
|
+
*/
|
11
|
+
async function computeRefDeployments(options) {
|
12
|
+
const { client, chain, paramValue } = options;
|
13
|
+
if (typeof paramValue === "object") {
|
14
|
+
if ("defaultValue" in paramValue &&
|
15
|
+
paramValue.defaultValue &&
|
16
|
+
paramValue.defaultValue.length > 0) {
|
17
|
+
return paramValue.defaultValue;
|
18
|
+
}
|
19
|
+
if ("dynamicValue" in paramValue && paramValue.dynamicValue) {
|
20
|
+
const dynamicValue = paramValue.dynamicValue;
|
21
|
+
const contracts = dynamicValue.refContracts;
|
22
|
+
if (dynamicValue.type === "address") {
|
23
|
+
if (!contracts || contracts.length === 0 || !contracts[0]?.contractId) {
|
24
|
+
throw new Error("Invalid or empty param value");
|
25
|
+
}
|
26
|
+
const salt = contracts[0]?.salt && contracts[0]?.salt.length > 0
|
27
|
+
? contracts[0]?.salt
|
28
|
+
: "";
|
29
|
+
const addr = await (0, compute_published_contract_address_js_1.computePublishedContractAddress)({
|
30
|
+
client,
|
31
|
+
chain,
|
32
|
+
contractId: contracts[0]?.contractId,
|
33
|
+
publisher: contracts[0]?.publisherAddress,
|
34
|
+
version: contracts[0]?.version,
|
35
|
+
salt,
|
36
|
+
});
|
37
|
+
return addr;
|
38
|
+
}
|
39
|
+
if (dynamicValue.type === "address[]") {
|
40
|
+
if (!contracts || contracts.length === 0) {
|
41
|
+
throw new Error("Invalid or empty param value");
|
42
|
+
}
|
43
|
+
const addressArray = [];
|
44
|
+
for (const c of contracts) {
|
45
|
+
const salt = c?.salt && c?.salt.length > 0 ? c?.salt : "";
|
46
|
+
addressArray.push(await (0, compute_published_contract_address_js_1.computePublishedContractAddress)({
|
47
|
+
client,
|
48
|
+
chain,
|
49
|
+
contractId: c.contractId,
|
50
|
+
publisher: c.publisherAddress,
|
51
|
+
version: c.version,
|
52
|
+
salt,
|
53
|
+
}));
|
54
|
+
}
|
55
|
+
return addressArray;
|
56
|
+
}
|
57
|
+
if (dynamicValue.type === "bytes") {
|
58
|
+
if (!dynamicValue.paramsToEncode) {
|
59
|
+
throw new Error("Invalid or empty param value");
|
60
|
+
}
|
61
|
+
const paramsToEncode = dynamicValue.paramsToEncode[0];
|
62
|
+
if (paramsToEncode) {
|
63
|
+
const types = [];
|
64
|
+
const values = [];
|
65
|
+
for (const v of paramsToEncode) {
|
66
|
+
types.push(v.type);
|
67
|
+
if (v.defaultValue) {
|
68
|
+
values.push(v.defaultValue);
|
69
|
+
}
|
70
|
+
else if (v.dynamicValue) {
|
71
|
+
values.push(await computeRefDeployments({
|
72
|
+
client,
|
73
|
+
chain,
|
74
|
+
paramValue: v,
|
75
|
+
}));
|
76
|
+
}
|
77
|
+
}
|
78
|
+
return (0, encodeAbiParameters_js_1.encodeAbiParameters)(types.map((t) => {
|
79
|
+
return { type: t };
|
80
|
+
}), values);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
if (dynamicValue.type === "bytes[]") {
|
84
|
+
if (!dynamicValue.paramsToEncode) {
|
85
|
+
throw new Error("Invalid or empty param value");
|
86
|
+
}
|
87
|
+
const bytesArray = [];
|
88
|
+
const paramArray = dynamicValue.paramsToEncode;
|
89
|
+
for (const a of paramArray) {
|
90
|
+
const paramsToEncode = a;
|
91
|
+
if (paramsToEncode) {
|
92
|
+
const types = [];
|
93
|
+
const values = [];
|
94
|
+
for (const v of paramsToEncode) {
|
95
|
+
types.push(v.type);
|
96
|
+
if (v.defaultValue) {
|
97
|
+
values.push(v.defaultValue);
|
98
|
+
}
|
99
|
+
else if (v.dynamicValue) {
|
100
|
+
values.push(await computeRefDeployments({
|
101
|
+
client,
|
102
|
+
chain,
|
103
|
+
paramValue: v,
|
104
|
+
}));
|
105
|
+
}
|
106
|
+
}
|
107
|
+
bytesArray.push((0, encodeAbiParameters_js_1.encodeAbiParameters)(types.map((t) => {
|
108
|
+
return { type: t };
|
109
|
+
}), values));
|
110
|
+
}
|
111
|
+
}
|
112
|
+
return bytesArray;
|
113
|
+
}
|
114
|
+
}
|
115
|
+
}
|
116
|
+
return paramValue;
|
117
|
+
}
|
118
|
+
//# sourceMappingURL=compute-ref-deployments.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"compute-ref-deployments.js","sourceRoot":"","sources":["../../../../src/extensions/prebuilts/compute-ref-deployments.ts"],"names":[],"mappings":";;AAiBA,sDA+IC;AA9JD,mFAA6E;AAC7E,qHAA4G;AAS5G;;;;GAIG;AACI,KAAK,UAAU,qBAAqB,CACzC,OAAqC;IAErC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE9C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,IACE,cAAc,IAAI,UAAU;YAC5B,UAAU,CAAC,YAAY;YACvB,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAClC,CAAC;YACD,OAAO,UAAU,CAAC,YAAY,CAAC;QACjC,CAAC;QAED,IAAI,cAAc,IAAI,UAAU,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5D,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;YAC7C,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;YAE5C,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACpC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;oBACtE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,IAAI,GACR,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;oBACjD,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI;oBACpB,CAAC,CAAC,EAAE,CAAC;gBAET,MAAM,IAAI,GAAG,MAAM,IAAA,uEAA+B,EAAC;oBACjD,MAAM;oBACN,KAAK;oBACL,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU;oBACpC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB;oBACzC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO;oBAC9B,IAAI;iBACL,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,YAAY,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACtC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,YAAY,GAAa,EAAE,CAAC;gBAElC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE1D,YAAY,CAAC,IAAI,CACf,MAAM,IAAA,uEAA+B,EAAC;wBACpC,MAAM;wBACN,KAAK;wBACL,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,SAAS,EAAE,CAAC,CAAC,gBAAgB;wBAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,IAAI;qBACL,CAAC,CACH,CAAC;gBACJ,CAAC;gBAED,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAEtD,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAA0B,EAAE,CAAC;oBACzC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;wBAC/B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAEnB,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;4BACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;wBAC9B,CAAC;6BAAM,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;4BAC1B,MAAM,CAAC,IAAI,CACT,MAAM,qBAAqB,CAAC;gCAC1B,MAAM;gCACN,KAAK;gCACL,UAAU,EAAE,CAAC;6BACd,CAAC,CACH,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,OAAO,IAAA,4CAAmB,EACxB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACd,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBACrB,CAAC,CAAC,EACF,MAAM,CACP,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,UAAU,GAAa,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,YAAY,CAAC,cAAc,CAAC;gBAE/C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;oBAC3B,MAAM,cAAc,GAAG,CAAC,CAAC;oBAEzB,IAAI,cAAc,EAAE,CAAC;wBACnB,MAAM,KAAK,GAAa,EAAE,CAAC;wBAC3B,MAAM,MAAM,GAA0B,EAAE,CAAC;wBACzC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;4BAC/B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BAEnB,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;gCACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;4BAC9B,CAAC;iCAAM,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;gCAC1B,MAAM,CAAC,IAAI,CACT,MAAM,qBAAqB,CAAC;oCAC1B,MAAM;oCACN,KAAK;oCACL,UAAU,EAAE,CAAC;iCACd,CAAC,CACH,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAED,UAAU,CAAC,IAAI,CACb,IAAA,4CAAmB,EACjB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;4BACd,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;wBACrB,CAAC,CAAC,EACF,MAAM,CACP,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAoB,CAAC;AAC9B,CAAC"}
|
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.processRefDeployments = processRefDeployments;
|
4
4
|
const encodeAbiParameters_js_1 = require("../../utils/abi/encodeAbiParameters.js");
|
5
5
|
const deploy_published_js_1 = require("./deploy-published.js");
|
6
|
+
/**
|
7
|
+
* Processes published contract references in constructor params. Deploys recursively if needed.
|
8
|
+
* @returns Param value after processing references.
|
9
|
+
* @internal
|
10
|
+
*/
|
6
11
|
async function processRefDeployments(options) {
|
7
12
|
const { client, account, chain, paramValue } = options;
|
8
13
|
if (typeof paramValue === "object") {
|
@@ -20,7 +25,7 @@ async function processRefDeployments(options) {
|
|
20
25
|
}
|
21
26
|
const salt = contracts[0]?.salt && contracts[0]?.salt.length > 0
|
22
27
|
? contracts[0]?.salt
|
23
|
-
: "
|
28
|
+
: "";
|
24
29
|
const addr = await (0, deploy_published_js_1.deployPublishedContract)({
|
25
30
|
client,
|
26
31
|
chain,
|
@@ -38,7 +43,7 @@ async function processRefDeployments(options) {
|
|
38
43
|
}
|
39
44
|
const addressArray = [];
|
40
45
|
for (const c of contracts) {
|
41
|
-
const salt = c?.salt && c?.salt.length > 0 ? c?.salt : "
|
46
|
+
const salt = c?.salt && c?.salt.length > 0 ? c?.salt : "";
|
42
47
|
addressArray.push(await (0, deploy_published_js_1.deployPublishedContract)({
|
43
48
|
client,
|
44
49
|
chain,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"process-ref-deployments.js","sourceRoot":"","sources":["../../../../src/extensions/prebuilts/process-ref-deployments.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"process-ref-deployments.js","sourceRoot":"","sources":["../../../../src/extensions/prebuilts/process-ref-deployments.ts"],"names":[],"mappings":"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"}
|
@@ -133,7 +133,7 @@ function useConnectedWalletDetails(client, walletChain, activeAccount, displayBa
|
|
133
133
|
* import { useWalletInfo } from "thirdweb/react";
|
134
134
|
*
|
135
135
|
* const { data: walletInfo } = useWalletInfo("io.metamask");
|
136
|
-
* console.log("
|
136
|
+
* console.log("wallet name", walletInfo?.name);
|
137
137
|
* ```
|
138
138
|
* @wallet
|
139
139
|
*/
|
@@ -5,6 +5,7 @@ exports.computeDeploymentInfoFromMetadata = computeDeploymentInfoFromMetadata;
|
|
5
5
|
exports.computeDeploymentInfoFromBytecode = computeDeploymentInfoFromBytecode;
|
6
6
|
const publisher_js_1 = require("../../contract/deployment/publisher.js");
|
7
7
|
const create_2_factory_js_1 = require("../../contract/deployment/utils/create-2-factory.js");
|
8
|
+
const compute_ref_deployments_js_1 = require("../../extensions/prebuilts/compute-ref-deployments.js");
|
8
9
|
const encodeAbiParameters_js_1 = require("../abi/encodeAbiParameters.js");
|
9
10
|
const normalizeFunctionParams_js_1 = require("../abi/normalizeFunctionParams.js");
|
10
11
|
const prefix_js_1 = require("../bytecode/prefix.js");
|
@@ -33,6 +34,19 @@ async function computeDeploymentInfoFromContractId(args) {
|
|
33
34
|
* @internal
|
34
35
|
*/
|
35
36
|
async function computeDeploymentInfoFromMetadata(args) {
|
37
|
+
const { client, chain, constructorParams, contractMetadata } = args;
|
38
|
+
const definedConstructorParams = constructorParams || contractMetadata.constructorParams;
|
39
|
+
let processedConstructorParams;
|
40
|
+
if (definedConstructorParams) {
|
41
|
+
processedConstructorParams = {};
|
42
|
+
for (const key in definedConstructorParams) {
|
43
|
+
processedConstructorParams[key] = await (0, compute_ref_deployments_js_1.computeRefDeployments)({
|
44
|
+
client,
|
45
|
+
chain,
|
46
|
+
paramValue: definedConstructorParams[key],
|
47
|
+
});
|
48
|
+
}
|
49
|
+
}
|
36
50
|
return computeDeploymentInfoFromBytecode({
|
37
51
|
client: args.client,
|
38
52
|
chain: args.chain,
|
@@ -42,7 +56,7 @@ async function computeDeploymentInfoFromMetadata(args) {
|
|
42
56
|
client: args.client,
|
43
57
|
chain: args.chain,
|
44
58
|
}),
|
45
|
-
constructorParams:
|
59
|
+
constructorParams: processedConstructorParams,
|
46
60
|
salt: args.salt,
|
47
61
|
});
|
48
62
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"compute-published-contract-deploy-info.js","sourceRoot":"","sources":["../../../../src/utils/any-evm/compute-published-contract-deploy-info.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"compute-published-contract-deploy-info.js","sourceRoot":"","sources":["../../../../src/utils/any-evm/compute-published-contract-deploy-info.ts"],"names":[],"mappings":";;AAoBA,kFAuBC;AAKD,8EAoCC;AAED,8EAiCC;AApHD,yEAAwF;AACxF,6FAAmG;AACnG,sGAA8F;AAE9F,0EAAoE;AACpE,kFAA4E;AAC5E,qDAA6D;AAE7D,6DAG8B;AAC9B,qFAA2E;AAE3E;;GAEG;AACI,KAAK,UAAU,mCAAmC,CAAC,IAQzD;IACC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACpE,MAAM,gBAAgB,GAAG,MAAM,IAAA,6CAA8B,EAAC;QAC5D,MAAM;QACN,UAAU;QACV,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;IACH,OAAO,iCAAiC,CAAC;QACvC,MAAM;QACN,KAAK;QACL,gBAAgB;QAChB,iBAAiB;QACjB,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iCAAiC,CAAC,IAMvD;IACC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IACpE,MAAM,wBAAwB,GAC5B,iBAAiB,IAAI,gBAAgB,CAAC,iBAAiB,CAAC;IAC1D,IAAI,0BAAyE,CAAC;IAC9E,IAAI,wBAAwB,EAAE,CAAC;QAC7B,0BAA0B,GAAG,EAAE,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;YAC3C,0BAA0B,CAAC,GAAG,CAAC,GAAG,MAAM,IAAA,kDAAqB,EAAC;gBAC5D,MAAM;gBACN,KAAK;gBACL,UAAU,EAAE,wBAAwB,CAAC,GAAG,CAEN;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,iCAAiC,CAAC;QACvC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG;QAC9B,QAAQ,EAAE,MAAM,IAAA,sDAAiC,EAAC;YAChD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QACF,iBAAiB,EAAE,0BAA0B;QAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,iCAAiC,CAAC,IAOvD;IACC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACxD,MAAM,qBAAqB,GAAG,MAAM,IAAA,kDAA4B,EAAC;QAC/D,MAAM;QACN,KAAK;KACN,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,aAAa,CAE3D,CAAC;IACd,MAAM,WAAW,GAAG,IAAA,4CAAmB,EACrC,cAAc,EAAE,MAAM,IAAI,EAAE,EAC5B,IAAA,oDAAuB,EAAC,cAAc,EAAE,iBAAiB,CAAC,CAC3D,CAAC;IACF,MAAM,oBAAoB,GAAG,IAAA,wDAAuB,EAAC;QACnD,QAAQ;QACR,WAAW;QACX,IAAI;KACL,CAAC,CAAC;IACH,OAAO;QACL,QAAQ;QACR,oBAAoB;QACpB,WAAW;QACX,qBAAqB;QACrB,IAAI;KACL,CAAC;AACJ,CAAC"}
|
package/dist/cjs/version.js
CHANGED
package/dist/cjs/version.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,wEAAwE,CAAC"}
|
@@ -0,0 +1,115 @@
|
|
1
|
+
import { encodeAbiParameters } from "../../utils/abi/encodeAbiParameters.js";
|
2
|
+
import { computePublishedContractAddress } from "../../utils/any-evm/compute-published-contract-address.js";
|
3
|
+
/**
|
4
|
+
* Computes addresses for published contract references in constructor params.
|
5
|
+
* @returns Param value after processing references.
|
6
|
+
* @internal
|
7
|
+
*/
|
8
|
+
export async function computeRefDeployments(options) {
|
9
|
+
const { client, chain, paramValue } = options;
|
10
|
+
if (typeof paramValue === "object") {
|
11
|
+
if ("defaultValue" in paramValue &&
|
12
|
+
paramValue.defaultValue &&
|
13
|
+
paramValue.defaultValue.length > 0) {
|
14
|
+
return paramValue.defaultValue;
|
15
|
+
}
|
16
|
+
if ("dynamicValue" in paramValue && paramValue.dynamicValue) {
|
17
|
+
const dynamicValue = paramValue.dynamicValue;
|
18
|
+
const contracts = dynamicValue.refContracts;
|
19
|
+
if (dynamicValue.type === "address") {
|
20
|
+
if (!contracts || contracts.length === 0 || !contracts[0]?.contractId) {
|
21
|
+
throw new Error("Invalid or empty param value");
|
22
|
+
}
|
23
|
+
const salt = contracts[0]?.salt && contracts[0]?.salt.length > 0
|
24
|
+
? contracts[0]?.salt
|
25
|
+
: "";
|
26
|
+
const addr = await computePublishedContractAddress({
|
27
|
+
client,
|
28
|
+
chain,
|
29
|
+
contractId: contracts[0]?.contractId,
|
30
|
+
publisher: contracts[0]?.publisherAddress,
|
31
|
+
version: contracts[0]?.version,
|
32
|
+
salt,
|
33
|
+
});
|
34
|
+
return addr;
|
35
|
+
}
|
36
|
+
if (dynamicValue.type === "address[]") {
|
37
|
+
if (!contracts || contracts.length === 0) {
|
38
|
+
throw new Error("Invalid or empty param value");
|
39
|
+
}
|
40
|
+
const addressArray = [];
|
41
|
+
for (const c of contracts) {
|
42
|
+
const salt = c?.salt && c?.salt.length > 0 ? c?.salt : "";
|
43
|
+
addressArray.push(await computePublishedContractAddress({
|
44
|
+
client,
|
45
|
+
chain,
|
46
|
+
contractId: c.contractId,
|
47
|
+
publisher: c.publisherAddress,
|
48
|
+
version: c.version,
|
49
|
+
salt,
|
50
|
+
}));
|
51
|
+
}
|
52
|
+
return addressArray;
|
53
|
+
}
|
54
|
+
if (dynamicValue.type === "bytes") {
|
55
|
+
if (!dynamicValue.paramsToEncode) {
|
56
|
+
throw new Error("Invalid or empty param value");
|
57
|
+
}
|
58
|
+
const paramsToEncode = dynamicValue.paramsToEncode[0];
|
59
|
+
if (paramsToEncode) {
|
60
|
+
const types = [];
|
61
|
+
const values = [];
|
62
|
+
for (const v of paramsToEncode) {
|
63
|
+
types.push(v.type);
|
64
|
+
if (v.defaultValue) {
|
65
|
+
values.push(v.defaultValue);
|
66
|
+
}
|
67
|
+
else if (v.dynamicValue) {
|
68
|
+
values.push(await computeRefDeployments({
|
69
|
+
client,
|
70
|
+
chain,
|
71
|
+
paramValue: v,
|
72
|
+
}));
|
73
|
+
}
|
74
|
+
}
|
75
|
+
return encodeAbiParameters(types.map((t) => {
|
76
|
+
return { type: t };
|
77
|
+
}), values);
|
78
|
+
}
|
79
|
+
}
|
80
|
+
if (dynamicValue.type === "bytes[]") {
|
81
|
+
if (!dynamicValue.paramsToEncode) {
|
82
|
+
throw new Error("Invalid or empty param value");
|
83
|
+
}
|
84
|
+
const bytesArray = [];
|
85
|
+
const paramArray = dynamicValue.paramsToEncode;
|
86
|
+
for (const a of paramArray) {
|
87
|
+
const paramsToEncode = a;
|
88
|
+
if (paramsToEncode) {
|
89
|
+
const types = [];
|
90
|
+
const values = [];
|
91
|
+
for (const v of paramsToEncode) {
|
92
|
+
types.push(v.type);
|
93
|
+
if (v.defaultValue) {
|
94
|
+
values.push(v.defaultValue);
|
95
|
+
}
|
96
|
+
else if (v.dynamicValue) {
|
97
|
+
values.push(await computeRefDeployments({
|
98
|
+
client,
|
99
|
+
chain,
|
100
|
+
paramValue: v,
|
101
|
+
}));
|
102
|
+
}
|
103
|
+
}
|
104
|
+
bytesArray.push(encodeAbiParameters(types.map((t) => {
|
105
|
+
return { type: t };
|
106
|
+
}), values));
|
107
|
+
}
|
108
|
+
}
|
109
|
+
return bytesArray;
|
110
|
+
}
|
111
|
+
}
|
112
|
+
}
|
113
|
+
return paramValue;
|
114
|
+
}
|
115
|
+
//# sourceMappingURL=compute-ref-deployments.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"compute-ref-deployments.js","sourceRoot":"","sources":["../../../../src/extensions/prebuilts/compute-ref-deployments.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,2DAA2D,CAAC;AAS5G;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAqC;IAErC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE9C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,IACE,cAAc,IAAI,UAAU;YAC5B,UAAU,CAAC,YAAY;YACvB,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAClC,CAAC;YACD,OAAO,UAAU,CAAC,YAAY,CAAC;QACjC,CAAC;QAED,IAAI,cAAc,IAAI,UAAU,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5D,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;YAC7C,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;YAE5C,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACpC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;oBACtE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,IAAI,GACR,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;oBACjD,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI;oBACpB,CAAC,CAAC,EAAE,CAAC;gBAET,MAAM,IAAI,GAAG,MAAM,+BAA+B,CAAC;oBACjD,MAAM;oBACN,KAAK;oBACL,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU;oBACpC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB;oBACzC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO;oBAC9B,IAAI;iBACL,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,YAAY,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACtC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,YAAY,GAAa,EAAE,CAAC;gBAElC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE1D,YAAY,CAAC,IAAI,CACf,MAAM,+BAA+B,CAAC;wBACpC,MAAM;wBACN,KAAK;wBACL,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,SAAS,EAAE,CAAC,CAAC,gBAAgB;wBAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,IAAI;qBACL,CAAC,CACH,CAAC;gBACJ,CAAC;gBAED,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAEtD,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAA0B,EAAE,CAAC;oBACzC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;wBAC/B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAEnB,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;4BACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;wBAC9B,CAAC;6BAAM,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;4BAC1B,MAAM,CAAC,IAAI,CACT,MAAM,qBAAqB,CAAC;gCAC1B,MAAM;gCACN,KAAK;gCACL,UAAU,EAAE,CAAC;6BACd,CAAC,CACH,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,OAAO,mBAAmB,CACxB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACd,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBACrB,CAAC,CAAC,EACF,MAAM,CACP,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,UAAU,GAAa,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,YAAY,CAAC,cAAc,CAAC;gBAE/C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;oBAC3B,MAAM,cAAc,GAAG,CAAC,CAAC;oBAEzB,IAAI,cAAc,EAAE,CAAC;wBACnB,MAAM,KAAK,GAAa,EAAE,CAAC;wBAC3B,MAAM,MAAM,GAA0B,EAAE,CAAC;wBACzC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;4BAC/B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BAEnB,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;gCACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;4BAC9B,CAAC;iCAAM,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;gCAC1B,MAAM,CAAC,IAAI,CACT,MAAM,qBAAqB,CAAC;oCAC1B,MAAM;oCACN,KAAK;oCACL,UAAU,EAAE,CAAC;iCACd,CAAC,CACH,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAED,UAAU,CAAC,IAAI,CACb,mBAAmB,CACjB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;4BACd,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;wBACrB,CAAC,CAAC,EACF,MAAM,CACP,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAoB,CAAC;AAC9B,CAAC"}
|
@@ -1,5 +1,10 @@
|
|
1
1
|
import { encodeAbiParameters } from "../../utils/abi/encodeAbiParameters.js";
|
2
2
|
import { deployPublishedContract } from "./deploy-published.js";
|
3
|
+
/**
|
4
|
+
* Processes published contract references in constructor params. Deploys recursively if needed.
|
5
|
+
* @returns Param value after processing references.
|
6
|
+
* @internal
|
7
|
+
*/
|
3
8
|
export async function processRefDeployments(options) {
|
4
9
|
const { client, account, chain, paramValue } = options;
|
5
10
|
if (typeof paramValue === "object") {
|
@@ -17,7 +22,7 @@ export async function processRefDeployments(options) {
|
|
17
22
|
}
|
18
23
|
const salt = contracts[0]?.salt && contracts[0]?.salt.length > 0
|
19
24
|
? contracts[0]?.salt
|
20
|
-
: "
|
25
|
+
: "";
|
21
26
|
const addr = await deployPublishedContract({
|
22
27
|
client,
|
23
28
|
chain,
|
@@ -35,7 +40,7 @@ export async function processRefDeployments(options) {
|
|
35
40
|
}
|
36
41
|
const addressArray = [];
|
37
42
|
for (const c of contracts) {
|
38
|
-
const salt = c?.salt && c?.salt.length > 0 ? c?.salt : "
|
43
|
+
const salt = c?.salt && c?.salt.length > 0 ? c?.salt : "";
|
39
44
|
addressArray.push(await deployPublishedContract({
|
40
45
|
client,
|
41
46
|
chain,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"process-ref-deployments.js","sourceRoot":"","sources":["../../../../src/extensions/prebuilts/process-ref-deployments.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAG7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAchE,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAqC;IAErC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAEvD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,IACE,cAAc,IAAI,UAAU;YAC5B,UAAU,CAAC,YAAY;YACvB,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAClC,CAAC;YACD,OAAO,UAAU,CAAC,YAAY,CAAC;QACjC,CAAC;QAED,IAAI,cAAc,IAAI,UAAU,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5D,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;YAC7C,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;YAE5C,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACpC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;oBACtE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,IAAI,GACR,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;oBACjD,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI;oBACpB,CAAC,CAAC,
|
1
|
+
{"version":3,"file":"process-ref-deployments.js","sourceRoot":"","sources":["../../../../src/extensions/prebuilts/process-ref-deployments.ts"],"names":[],"mappings":"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"}
|
@@ -125,7 +125,7 @@ export function useConnectedWalletDetails(client, walletChain, activeAccount, di
|
|
125
125
|
* import { useWalletInfo } from "thirdweb/react";
|
126
126
|
*
|
127
127
|
* const { data: walletInfo } = useWalletInfo("io.metamask");
|
128
|
-
* console.log("
|
128
|
+
* console.log("wallet name", walletInfo?.name);
|
129
129
|
* ```
|
130
130
|
* @wallet
|
131
131
|
*/
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { fetchPublishedContractMetadata } from "../../contract/deployment/publisher.js";
|
2
2
|
import { computeCreate2FactoryAddress } from "../../contract/deployment/utils/create-2-factory.js";
|
3
|
+
import { computeRefDeployments } from "../../extensions/prebuilts/compute-ref-deployments.js";
|
3
4
|
import { encodeAbiParameters } from "../abi/encodeAbiParameters.js";
|
4
5
|
import { normalizeFunctionParams } from "../abi/normalizeFunctionParams.js";
|
5
6
|
import { ensureBytecodePrefix } from "../bytecode/prefix.js";
|
@@ -28,6 +29,19 @@ export async function computeDeploymentInfoFromContractId(args) {
|
|
28
29
|
* @internal
|
29
30
|
*/
|
30
31
|
export async function computeDeploymentInfoFromMetadata(args) {
|
32
|
+
const { client, chain, constructorParams, contractMetadata } = args;
|
33
|
+
const definedConstructorParams = constructorParams || contractMetadata.constructorParams;
|
34
|
+
let processedConstructorParams;
|
35
|
+
if (definedConstructorParams) {
|
36
|
+
processedConstructorParams = {};
|
37
|
+
for (const key in definedConstructorParams) {
|
38
|
+
processedConstructorParams[key] = await computeRefDeployments({
|
39
|
+
client,
|
40
|
+
chain,
|
41
|
+
paramValue: definedConstructorParams[key],
|
42
|
+
});
|
43
|
+
}
|
44
|
+
}
|
31
45
|
return computeDeploymentInfoFromBytecode({
|
32
46
|
client: args.client,
|
33
47
|
chain: args.chain,
|
@@ -37,7 +51,7 @@ export async function computeDeploymentInfoFromMetadata(args) {
|
|
37
51
|
client: args.client,
|
38
52
|
chain: args.chain,
|
39
53
|
}),
|
40
|
-
constructorParams:
|
54
|
+
constructorParams: processedConstructorParams,
|
41
55
|
salt: args.salt,
|
42
56
|
});
|
43
57
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"compute-published-contract-deploy-info.js","sourceRoot":"","sources":["../../../../src/utils/any-evm/compute-published-contract-deploy-info.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAEL,iCAAiC,GAClC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mCAAmC,CAAC,IAQzD;IACC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACpE,MAAM,gBAAgB,GAAG,MAAM,8BAA8B,CAAC;QAC5D,MAAM;QACN,UAAU;QACV,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;IACH,OAAO,iCAAiC,CAAC;QACvC,MAAM;QACN,KAAK;QACL,gBAAgB;QAChB,iBAAiB;QACjB,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CAAC,IAMvD;IACC,OAAO,iCAAiC,CAAC;QACvC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG;QAC9B,QAAQ,EAAE,MAAM,iCAAiC,CAAC;YAChD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QACF,iBAAiB,EAAE,
|
1
|
+
{"version":3,"file":"compute-published-contract-deploy-info.js","sourceRoot":"","sources":["../../../../src/utils/any-evm/compute-published-contract-deploy-info.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export const version = "5.92.
|
1
|
+
export const version = "5.92.2-nightly-6fc6c6e6814673d246a206e3cc381f71c32a8af9-20250313000330";
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/esm/version.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,wEAAwE,CAAC"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import type { Chain } from "../../chains/types.js";
|
2
|
+
import type { ThirdwebClient } from "../../client/client.js";
|
3
|
+
import type { ImplementationConstructorParam } from "./process-ref-deployments.js";
|
4
|
+
type ComputeRefDeploymentsOptions = {
|
5
|
+
client: ThirdwebClient;
|
6
|
+
chain: Chain;
|
7
|
+
paramValue: string | ImplementationConstructorParam;
|
8
|
+
};
|
9
|
+
/**
|
10
|
+
* Computes addresses for published contract references in constructor params.
|
11
|
+
* @returns Param value after processing references.
|
12
|
+
* @internal
|
13
|
+
*/
|
14
|
+
export declare function computeRefDeployments(options: ComputeRefDeploymentsOptions): Promise<string | string[]>;
|
15
|
+
export {};
|
16
|
+
//# sourceMappingURL=compute-ref-deployments.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"compute-ref-deployments.d.ts","sourceRoot":"","sources":["../../../../src/extensions/prebuilts/compute-ref-deployments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAEnF,KAAK,4BAA4B,GAAG;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,8BAA8B,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CA6I5B"}
|
@@ -12,6 +12,11 @@ type ProcessRefDeploymentsOptions = {
|
|
12
12
|
account: Account;
|
13
13
|
paramValue: string | ImplementationConstructorParam;
|
14
14
|
};
|
15
|
+
/**
|
16
|
+
* Processes published contract references in constructor params. Deploys recursively if needed.
|
17
|
+
* @returns Param value after processing references.
|
18
|
+
* @internal
|
19
|
+
*/
|
15
20
|
export declare function processRefDeployments(options: ProcessRefDeploymentsOptions): Promise<string | string[]>;
|
16
21
|
export {};
|
17
22
|
//# sourceMappingURL=process-ref-deployments.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"process-ref-deployments.d.ts","sourceRoot":"","sources":["../../../../src/extensions/prebuilts/process-ref-deployments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAGlE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,8BAA8B,CAAC;CACrD,CAAC;AAEF,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAiJ5B"}
|
1
|
+
{"version":3,"file":"process-ref-deployments.d.ts","sourceRoot":"","sources":["../../../../src/extensions/prebuilts/process-ref-deployments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAGlE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,8BAA8B,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAiJ5B"}
|
@@ -63,7 +63,7 @@ export declare function useConnectedWalletDetails(client: ThirdwebClient, wallet
|
|
63
63
|
* import { useWalletInfo } from "thirdweb/react";
|
64
64
|
*
|
65
65
|
* const { data: walletInfo } = useWalletInfo("io.metamask");
|
66
|
-
* console.log("
|
66
|
+
* console.log("wallet name", walletInfo?.name);
|
67
67
|
* ```
|
68
68
|
* @wallet
|
69
69
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"compute-published-contract-deploy-info.d.ts","sourceRoot":"","sources":["../../../../src/utils/any-evm/compute-published-contract-deploy-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAkB,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
1
|
+
{"version":3,"file":"compute-published-contract-deploy-info.d.ts","sourceRoot":"","sources":["../../../../src/utils/any-evm/compute-published-contract-deploy-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAkB,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAQ7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,sBAAsB,CAAC;AAG9B;;GAEG;AACH,wBAAsB,mCAAmC,CAAC,IAAI,EAAE;IAC9D,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;GAeA;AAED;;GAEG;AACH,wBAAsB,iCAAiC,CAAC,IAAI,EAAE;IAC5D,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;GA8BA;AAED,wBAAsB,iCAAiC,CAAC,IAAI,EAAE;IAC5D,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,GAAG,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;GA0BA"}
|
package/dist/types/version.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "5.92.
|
1
|
+
export declare const version = "5.92.2-nightly-6fc6c6e6814673d246a206e3cc381f71c32a8af9-20250313000330";
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,2EAA2E,CAAC"}
|
package/package.json
CHANGED
@@ -0,0 +1,161 @@
|
|
1
|
+
import type { Chain } from "../../chains/types.js";
|
2
|
+
import type { ThirdwebClient } from "../../client/client.js";
|
3
|
+
import { encodeAbiParameters } from "../../utils/abi/encodeAbiParameters.js";
|
4
|
+
import { computePublishedContractAddress } from "../../utils/any-evm/compute-published-contract-address.js";
|
5
|
+
import type { ImplementationConstructorParam } from "./process-ref-deployments.js";
|
6
|
+
|
7
|
+
type ComputeRefDeploymentsOptions = {
|
8
|
+
client: ThirdwebClient;
|
9
|
+
chain: Chain;
|
10
|
+
paramValue: string | ImplementationConstructorParam;
|
11
|
+
};
|
12
|
+
|
13
|
+
/**
|
14
|
+
* Computes addresses for published contract references in constructor params.
|
15
|
+
* @returns Param value after processing references.
|
16
|
+
* @internal
|
17
|
+
*/
|
18
|
+
export async function computeRefDeployments(
|
19
|
+
options: ComputeRefDeploymentsOptions,
|
20
|
+
): Promise<string | string[]> {
|
21
|
+
const { client, chain, paramValue } = options;
|
22
|
+
|
23
|
+
if (typeof paramValue === "object") {
|
24
|
+
if (
|
25
|
+
"defaultValue" in paramValue &&
|
26
|
+
paramValue.defaultValue &&
|
27
|
+
paramValue.defaultValue.length > 0
|
28
|
+
) {
|
29
|
+
return paramValue.defaultValue;
|
30
|
+
}
|
31
|
+
|
32
|
+
if ("dynamicValue" in paramValue && paramValue.dynamicValue) {
|
33
|
+
const dynamicValue = paramValue.dynamicValue;
|
34
|
+
const contracts = dynamicValue.refContracts;
|
35
|
+
|
36
|
+
if (dynamicValue.type === "address") {
|
37
|
+
if (!contracts || contracts.length === 0 || !contracts[0]?.contractId) {
|
38
|
+
throw new Error("Invalid or empty param value");
|
39
|
+
}
|
40
|
+
const salt =
|
41
|
+
contracts[0]?.salt && contracts[0]?.salt.length > 0
|
42
|
+
? contracts[0]?.salt
|
43
|
+
: "";
|
44
|
+
|
45
|
+
const addr = await computePublishedContractAddress({
|
46
|
+
client,
|
47
|
+
chain,
|
48
|
+
contractId: contracts[0]?.contractId,
|
49
|
+
publisher: contracts[0]?.publisherAddress,
|
50
|
+
version: contracts[0]?.version,
|
51
|
+
salt,
|
52
|
+
});
|
53
|
+
|
54
|
+
return addr;
|
55
|
+
}
|
56
|
+
|
57
|
+
if (dynamicValue.type === "address[]") {
|
58
|
+
if (!contracts || contracts.length === 0) {
|
59
|
+
throw new Error("Invalid or empty param value");
|
60
|
+
}
|
61
|
+
const addressArray: string[] = [];
|
62
|
+
|
63
|
+
for (const c of contracts) {
|
64
|
+
const salt = c?.salt && c?.salt.length > 0 ? c?.salt : "";
|
65
|
+
|
66
|
+
addressArray.push(
|
67
|
+
await computePublishedContractAddress({
|
68
|
+
client,
|
69
|
+
chain,
|
70
|
+
contractId: c.contractId,
|
71
|
+
publisher: c.publisherAddress,
|
72
|
+
version: c.version,
|
73
|
+
salt,
|
74
|
+
}),
|
75
|
+
);
|
76
|
+
}
|
77
|
+
|
78
|
+
return addressArray;
|
79
|
+
}
|
80
|
+
|
81
|
+
if (dynamicValue.type === "bytes") {
|
82
|
+
if (!dynamicValue.paramsToEncode) {
|
83
|
+
throw new Error("Invalid or empty param value");
|
84
|
+
}
|
85
|
+
const paramsToEncode = dynamicValue.paramsToEncode[0];
|
86
|
+
|
87
|
+
if (paramsToEncode) {
|
88
|
+
const types: string[] = [];
|
89
|
+
const values: (string | string[])[] = [];
|
90
|
+
for (const v of paramsToEncode) {
|
91
|
+
types.push(v.type);
|
92
|
+
|
93
|
+
if (v.defaultValue) {
|
94
|
+
values.push(v.defaultValue);
|
95
|
+
} else if (v.dynamicValue) {
|
96
|
+
values.push(
|
97
|
+
await computeRefDeployments({
|
98
|
+
client,
|
99
|
+
chain,
|
100
|
+
paramValue: v,
|
101
|
+
}),
|
102
|
+
);
|
103
|
+
}
|
104
|
+
}
|
105
|
+
|
106
|
+
return encodeAbiParameters(
|
107
|
+
types.map((t) => {
|
108
|
+
return { type: t };
|
109
|
+
}),
|
110
|
+
values,
|
111
|
+
);
|
112
|
+
}
|
113
|
+
}
|
114
|
+
|
115
|
+
if (dynamicValue.type === "bytes[]") {
|
116
|
+
if (!dynamicValue.paramsToEncode) {
|
117
|
+
throw new Error("Invalid or empty param value");
|
118
|
+
}
|
119
|
+
const bytesArray: string[] = [];
|
120
|
+
const paramArray = dynamicValue.paramsToEncode;
|
121
|
+
|
122
|
+
for (const a of paramArray) {
|
123
|
+
const paramsToEncode = a;
|
124
|
+
|
125
|
+
if (paramsToEncode) {
|
126
|
+
const types: string[] = [];
|
127
|
+
const values: (string | string[])[] = [];
|
128
|
+
for (const v of paramsToEncode) {
|
129
|
+
types.push(v.type);
|
130
|
+
|
131
|
+
if (v.defaultValue) {
|
132
|
+
values.push(v.defaultValue);
|
133
|
+
} else if (v.dynamicValue) {
|
134
|
+
values.push(
|
135
|
+
await computeRefDeployments({
|
136
|
+
client,
|
137
|
+
chain,
|
138
|
+
paramValue: v,
|
139
|
+
}),
|
140
|
+
);
|
141
|
+
}
|
142
|
+
}
|
143
|
+
|
144
|
+
bytesArray.push(
|
145
|
+
encodeAbiParameters(
|
146
|
+
types.map((t) => {
|
147
|
+
return { type: t };
|
148
|
+
}),
|
149
|
+
values,
|
150
|
+
),
|
151
|
+
);
|
152
|
+
}
|
153
|
+
}
|
154
|
+
|
155
|
+
return bytesArray;
|
156
|
+
}
|
157
|
+
}
|
158
|
+
}
|
159
|
+
|
160
|
+
return paramValue as string;
|
161
|
+
}
|
@@ -3,6 +3,7 @@ import { ANVIL_CHAIN } from "../../../test/src/chains.js";
|
|
3
3
|
import { TEST_CLIENT } from "../../../test/src/test-clients.js";
|
4
4
|
import { TEST_ACCOUNT_A } from "../../../test/src/test-wallets.js";
|
5
5
|
import { getContract } from "../../contract/contract.js";
|
6
|
+
import { getDeployedInfraContract } from "../../contract/deployment/utils/infra.js";
|
6
7
|
import { readContract } from "../../transaction/read-contract.js";
|
7
8
|
import { getInstalledModules } from "../modules/__generated__/IModularCore/read/getInstalledModules.js";
|
8
9
|
import { deployPublishedContract } from "./deploy-published.js";
|
@@ -29,7 +30,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
29
30
|
account: TEST_ACCOUNT_A,
|
30
31
|
contractId: "MultiSig",
|
31
32
|
version: "0.0.4",
|
32
|
-
salt: "
|
33
|
+
salt: "",
|
33
34
|
publisher: "0x6453a486d52e0EB6E79Ec4491038E2522a926936",
|
34
35
|
});
|
35
36
|
dummyContractAddress = await deployPublishedContract({
|
@@ -37,8 +38,8 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
37
38
|
chain: ANVIL_CHAIN,
|
38
39
|
account: TEST_ACCOUNT_A,
|
39
40
|
contractId: "ContractWithBytes",
|
40
|
-
version: "0.0.
|
41
|
-
salt: "
|
41
|
+
version: "0.0.2",
|
42
|
+
salt: "",
|
42
43
|
publisher: "0x6453a486d52e0EB6E79Ec4491038E2522a926936",
|
43
44
|
});
|
44
45
|
mintfeeManagerModuleAddress = await deployPublishedContract({
|
@@ -47,7 +48,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
47
48
|
account: TEST_ACCOUNT_A,
|
48
49
|
contractId: "MintFeeManagerModule",
|
49
50
|
version: "0.0.1",
|
50
|
-
salt: "
|
51
|
+
salt: "",
|
51
52
|
publisher: "0x6453a486d52e0EB6E79Ec4491038E2522a926936",
|
52
53
|
});
|
53
54
|
mintfeeManagerCoreAddress = await deployPublishedContract({
|
@@ -55,8 +56,8 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
55
56
|
chain: ANVIL_CHAIN,
|
56
57
|
account: TEST_ACCOUNT_A,
|
57
58
|
contractId: "MintFeeManagerCore",
|
58
|
-
version: "0.0.
|
59
|
-
salt: "
|
59
|
+
version: "0.0.26",
|
60
|
+
salt: "",
|
60
61
|
publisher: "0x6453a486d52e0EB6E79Ec4491038E2522a926936",
|
61
62
|
});
|
62
63
|
claimableModuleAddress = await deployPublishedContract({
|
@@ -64,18 +65,17 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
64
65
|
chain: ANVIL_CHAIN,
|
65
66
|
account: TEST_ACCOUNT_A,
|
66
67
|
contractId: "ClaimableERC721",
|
67
|
-
version: "0.0.
|
68
|
-
salt: "
|
68
|
+
version: "0.0.14",
|
69
|
+
salt: "",
|
69
70
|
publisher: "0x6453a486d52e0EB6E79Ec4491038E2522a926936",
|
70
71
|
});
|
71
|
-
|
72
72
|
wethAddress = await deployPublishedContract({
|
73
73
|
client: TEST_CLIENT,
|
74
74
|
chain: ANVIL_CHAIN,
|
75
75
|
account: TEST_ACCOUNT_A,
|
76
76
|
contractId: "WETH9",
|
77
77
|
version: "0.0.1",
|
78
|
-
salt: "
|
78
|
+
salt: "",
|
79
79
|
publisher: "0x6453a486d52e0EB6E79Ec4491038E2522a926936",
|
80
80
|
});
|
81
81
|
forwarderAddress = await deployPublishedContract({
|
@@ -84,7 +84,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
84
84
|
account: TEST_ACCOUNT_A,
|
85
85
|
contractId: "Forwarder",
|
86
86
|
version: "0.0.1",
|
87
|
-
salt: "
|
87
|
+
salt: "",
|
88
88
|
publisher: "0x6453a486d52e0EB6E79Ec4491038E2522a926936",
|
89
89
|
});
|
90
90
|
multiwrapAddress = await deployPublishedContract({
|
@@ -192,5 +192,67 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
192
192
|
expect(fetchedWethAddress.toLowerCase()).to.eq(wethAddress);
|
193
193
|
expect(isTrustedForwarder).to.be.true;
|
194
194
|
});
|
195
|
+
|
196
|
+
it("should correctly compute addresses for deployed contracts with refs", async () => {
|
197
|
+
const [
|
198
|
+
multisigAddressComputed,
|
199
|
+
dummyContractAddressComputed,
|
200
|
+
mintfeeManagerModuleAddressComputed,
|
201
|
+
mintfeeManagerCoreAddressComputed,
|
202
|
+
claimableModuleAddressComputed,
|
203
|
+
] = await Promise.all([
|
204
|
+
getDeployedInfraContract({
|
205
|
+
client: TEST_CLIENT,
|
206
|
+
chain: ANVIL_CHAIN,
|
207
|
+
contractId: "MultiSig",
|
208
|
+
version: "0.0.4",
|
209
|
+
publisher: "0x6453a486d52e0EB6E79Ec4491038E2522a926936",
|
210
|
+
}),
|
211
|
+
getDeployedInfraContract({
|
212
|
+
client: TEST_CLIENT,
|
213
|
+
chain: ANVIL_CHAIN,
|
214
|
+
contractId: "ContractWithBytes",
|
215
|
+
version: "0.0.2",
|
216
|
+
publisher: "0x6453a486d52e0EB6E79Ec4491038E2522a926936",
|
217
|
+
}),
|
218
|
+
getDeployedInfraContract({
|
219
|
+
client: TEST_CLIENT,
|
220
|
+
chain: ANVIL_CHAIN,
|
221
|
+
contractId: "MintFeeManagerModule",
|
222
|
+
version: "0.0.1",
|
223
|
+
publisher: "0x6453a486d52e0EB6E79Ec4491038E2522a926936",
|
224
|
+
}),
|
225
|
+
getDeployedInfraContract({
|
226
|
+
client: TEST_CLIENT,
|
227
|
+
chain: ANVIL_CHAIN,
|
228
|
+
contractId: "MintFeeManagerCore",
|
229
|
+
version: "0.0.26",
|
230
|
+
publisher: "0x6453a486d52e0EB6E79Ec4491038E2522a926936",
|
231
|
+
}),
|
232
|
+
getDeployedInfraContract({
|
233
|
+
client: TEST_CLIENT,
|
234
|
+
chain: ANVIL_CHAIN,
|
235
|
+
contractId: "ClaimableERC721",
|
236
|
+
version: "0.0.14",
|
237
|
+
publisher: "0x6453a486d52e0EB6E79Ec4491038E2522a926936",
|
238
|
+
}),
|
239
|
+
]);
|
240
|
+
|
241
|
+
expect(multisigAddressComputed?.address.toLowerCase()).to.eq(
|
242
|
+
multisigAddress,
|
243
|
+
);
|
244
|
+
expect(dummyContractAddressComputed?.address.toLowerCase()).to.eq(
|
245
|
+
dummyContractAddress,
|
246
|
+
);
|
247
|
+
expect(mintfeeManagerModuleAddressComputed?.address.toLowerCase()).to.eq(
|
248
|
+
mintfeeManagerModuleAddress,
|
249
|
+
);
|
250
|
+
expect(mintfeeManagerCoreAddressComputed?.address.toLowerCase()).to.eq(
|
251
|
+
mintfeeManagerCoreAddress,
|
252
|
+
);
|
253
|
+
expect(claimableModuleAddressComputed?.address.toLowerCase()).to.eq(
|
254
|
+
claimableModuleAddress,
|
255
|
+
);
|
256
|
+
});
|
195
257
|
},
|
196
258
|
);
|
@@ -17,6 +17,11 @@ type ProcessRefDeploymentsOptions = {
|
|
17
17
|
paramValue: string | ImplementationConstructorParam;
|
18
18
|
};
|
19
19
|
|
20
|
+
/**
|
21
|
+
* Processes published contract references in constructor params. Deploys recursively if needed.
|
22
|
+
* @returns Param value after processing references.
|
23
|
+
* @internal
|
24
|
+
*/
|
20
25
|
export async function processRefDeployments(
|
21
26
|
options: ProcessRefDeploymentsOptions,
|
22
27
|
): Promise<string | string[]> {
|
@@ -42,7 +47,7 @@ export async function processRefDeployments(
|
|
42
47
|
const salt =
|
43
48
|
contracts[0]?.salt && contracts[0]?.salt.length > 0
|
44
49
|
? contracts[0]?.salt
|
45
|
-
: "
|
50
|
+
: "";
|
46
51
|
|
47
52
|
const addr = await deployPublishedContract({
|
48
53
|
client,
|
@@ -64,7 +69,7 @@ export async function processRefDeployments(
|
|
64
69
|
const addressArray = [];
|
65
70
|
|
66
71
|
for (const c of contracts) {
|
67
|
-
const salt = c?.salt && c?.salt.length > 0 ? c?.salt : "
|
72
|
+
const salt = c?.salt && c?.salt.length > 0 ? c?.salt : "";
|
68
73
|
|
69
74
|
addressArray.push(
|
70
75
|
await deployPublishedContract({
|
@@ -157,7 +157,7 @@ export function useConnectedWalletDetails(
|
|
157
157
|
* import { useWalletInfo } from "thirdweb/react";
|
158
158
|
*
|
159
159
|
* const { data: walletInfo } = useWalletInfo("io.metamask");
|
160
|
-
* console.log("
|
160
|
+
* console.log("wallet name", walletInfo?.name);
|
161
161
|
* ```
|
162
162
|
* @wallet
|
163
163
|
*/
|
@@ -3,6 +3,8 @@ import type { Chain } from "../../chains/types.js";
|
|
3
3
|
import type { ThirdwebClient } from "../../client/client.js";
|
4
4
|
import { fetchPublishedContractMetadata } from "../../contract/deployment/publisher.js";
|
5
5
|
import { computeCreate2FactoryAddress } from "../../contract/deployment/utils/create-2-factory.js";
|
6
|
+
import { computeRefDeployments } from "../../extensions/prebuilts/compute-ref-deployments.js";
|
7
|
+
import type { ImplementationConstructorParam } from "../../extensions/prebuilts/process-ref-deployments.js";
|
6
8
|
import { encodeAbiParameters } from "../abi/encodeAbiParameters.js";
|
7
9
|
import { normalizeFunctionParams } from "../abi/normalizeFunctionParams.js";
|
8
10
|
import { ensureBytecodePrefix } from "../bytecode/prefix.js";
|
@@ -51,6 +53,23 @@ export async function computeDeploymentInfoFromMetadata(args: {
|
|
51
53
|
constructorParams?: Record<string, unknown>;
|
52
54
|
salt?: string;
|
53
55
|
}) {
|
56
|
+
const { client, chain, constructorParams, contractMetadata } = args;
|
57
|
+
const definedConstructorParams =
|
58
|
+
constructorParams || contractMetadata.constructorParams;
|
59
|
+
let processedConstructorParams: Record<string, string | string[]> | undefined;
|
60
|
+
if (definedConstructorParams) {
|
61
|
+
processedConstructorParams = {};
|
62
|
+
for (const key in definedConstructorParams) {
|
63
|
+
processedConstructorParams[key] = await computeRefDeployments({
|
64
|
+
client,
|
65
|
+
chain,
|
66
|
+
paramValue: definedConstructorParams[key] as
|
67
|
+
| string
|
68
|
+
| ImplementationConstructorParam,
|
69
|
+
});
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
54
73
|
return computeDeploymentInfoFromBytecode({
|
55
74
|
client: args.client,
|
56
75
|
chain: args.chain,
|
@@ -60,7 +79,7 @@ export async function computeDeploymentInfoFromMetadata(args: {
|
|
60
79
|
client: args.client,
|
61
80
|
chain: args.chain,
|
62
81
|
}),
|
63
|
-
constructorParams:
|
82
|
+
constructorParams: processedConstructorParams,
|
64
83
|
salt: args.salt,
|
65
84
|
});
|
66
85
|
}
|
package/src/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = "5.92.
|
1
|
+
export const version = "5.92.2-nightly-6fc6c6e6814673d246a206e3cc381f71c32a8af9-20250313000330";
|