Skip to content

Commit f369bff

Browse files
authored
[SDK] Deployment params: Empty default forwarders (#2090)
1 parent fed1313 commit f369bff

File tree

6 files changed

+24
-58
lines changed

6 files changed

+24
-58
lines changed

.changeset/empty-ears-notice.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@thirdweb-dev/sdk": patch
3+
---
4+
5+
empty default trusted forwarders param

packages/sdk/src/evm/common/any-evm-utils/computeDeploymentInfo.ts

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { ConstructorParamMap } from "../../types/any-evm/deploy-data";
2222
import { extractConstructorParamsFromAbi } from "../feature-detection/extractConstructorParamsFromAbi";
2323
import { caches } from "./caches";
2424
import { getRoyaltyEngineV1ByChainId } from "../../constants/royaltyEngine";
25+
import { AddressZero } from "../../constants/addresses/AddressZero";
2526

2627
/**
2728
* @internal
@@ -168,22 +169,7 @@ export async function encodeConstructorParamsForImplementation(
168169
);
169170
} else if (p.name && p.name.includes("trustedForwarder")) {
170171
if (compilerMetadata.name === "Pack") {
171-
// EOAForwarder for Pack
172-
const deploymentInfo = await computeDeploymentInfo(
173-
"infra",
174-
provider,
175-
storage,
176-
create2Factory,
177-
{
178-
contractName: "ForwarderEOAOnly",
179-
},
180-
clientId,
181-
secretKey,
182-
);
183-
if (!caches.deploymentPresets["ForwarderEOAOnly"]) {
184-
caches.deploymentPresets["ForwarderEOAOnly"] = deploymentInfo;
185-
}
186-
return deploymentInfo.transaction.predictedAddress;
172+
return AddressZero;
187173
}
188174

189175
const deploymentInfo = await computeDeploymentInfo(

packages/sdk/src/evm/common/deploy.ts

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ import { overrideRecipientAddress } from "./override-recipient-address";
3333
* @returns
3434
* @internal
3535
*/
36+
/* eslint-disable @typescript-eslint/no-unused-vars */
37+
// TODO: Update function interface: Remove unused param
3638
export async function getDeployArguments<
3739
TContractType extends PrebuiltContractType,
3840
>(
@@ -42,24 +44,10 @@ export async function getDeployArguments<
4244
signer: Signer,
4345
storage: ThirdwebStorage,
4446
): Promise<any[]> {
45-
const chainId = await signer.getChainId();
4647
const signerAddress = await signer.getAddress();
47-
const chainEnum = SUPPORTED_CHAIN_IDS.find((c) => c === chainId);
48-
let trustedForwarders: string[] = [];
49-
if (!chainEnum) {
50-
const forwarder = await computeForwarderAddress(
51-
signer.provider as providers.Provider,
52-
storage,
53-
);
54-
trustedForwarders = [forwarder];
55-
} else {
56-
trustedForwarders =
57-
contractType === PackInitializer.contractType
58-
? []
59-
: getDefaultTrustedForwarders(chainId);
60-
}
48+
const trustedForwarders: string[] = [];
6149

62-
// add default forwarders to any custom forwarders passed in
50+
// add any custom forwarders passed in
6351
if (metadata.trusted_forwarders && metadata.trusted_forwarders.length > 0) {
6452
trustedForwarders.push(...metadata.trusted_forwarders);
6553
}

packages/sdk/src/evm/core/classes/internal/factory.ts

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import { z } from "zod";
1515
import { getDeployArguments } from "../../../common/deploy";
1616
import { buildTransactionFunction } from "../../../common/transactions";
1717
import { getApprovedImplementation } from "../../../constants/addresses/getApprovedImplementation";
18-
import { getDefaultTrustedForwarders } from "../../../constants/addresses/getDefaultTrustedForwarders";
1918
import {
2019
DeploySchemaForPrebuiltContractType,
2120
EditionDropInitializer,
@@ -226,10 +225,7 @@ export class ContractFactory extends ContractWrapper<TWFactory> {
226225
metadata: z.input<DeploySchemaForPrebuiltContractType<TContractType>>,
227226
contractURI: string,
228227
): Promise<any[]> {
229-
let trustedForwarders =
230-
contractType === PackInitializer.contractType
231-
? []
232-
: await this.getDefaultTrustedForwarders();
228+
let trustedForwarders: string[] = [];
233229
// override default forwarders if custom ones are passed in
234230
if (metadata.trusted_forwarders && metadata.trusted_forwarders.length > 0) {
235231
trustedForwarders = metadata.trusted_forwarders;
@@ -403,11 +399,6 @@ export class ContractFactory extends ContractWrapper<TWFactory> {
403399
}
404400
}
405401

406-
private async getDefaultTrustedForwarders(): Promise<string[]> {
407-
const chainId = await this.getChainID();
408-
return getDefaultTrustedForwarders(chainId);
409-
}
410-
411402
private async getImplementation(
412403
contract: (typeof PREBUILT_CONTRACTS_MAP)[PrebuiltContractType],
413404
version?: number,

packages/sdk/src/evm/core/sdk.ts

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ import {
104104
directDeployDeterministicPublished,
105105
predictAddressDeterministicPublished,
106106
} from "../common/any-evm-utils/deployDirectDeterministic";
107-
import { getDefaultTrustedForwarders } from "../constants/addresses/getDefaultTrustedForwarders";
108107
import { DeployEvent, DeployEvents } from "../types/deploy/deploy-events";
109108
import {
110109
AirdropContractDeployMetadata,
@@ -1025,9 +1024,8 @@ export class ContractDeployer extends RPCConnectionHandler {
10251024
);
10261025
const contractURI = await this.storage.upload(parsedMetadata);
10271026

1028-
const chainId = (await this.getProvider().getNetwork()).chainId;
1029-
const trustedForwarders = getDefaultTrustedForwarders(chainId);
1030-
// add default forwarders to any custom forwarders passed in
1027+
const trustedForwarders: string[] = [];
1028+
// add any custom forwarders passed in
10311029
if (
10321030
metadata.trusted_forwarders &&
10331031
metadata.trusted_forwarders.length > 0
@@ -1085,9 +1083,8 @@ export class ContractDeployer extends RPCConnectionHandler {
10851083
);
10861084
const contractURI = await this.storage.upload(parsedMetadata);
10871085

1088-
const chainId = (await this.getProvider().getNetwork()).chainId;
1089-
const trustedForwarders = getDefaultTrustedForwarders(chainId);
1090-
// add default forwarders to any custom forwarders passed in
1086+
const trustedForwarders: string[] = [];
1087+
// add any custom forwarders passed in
10911088
if (
10921089
metadata.trusted_forwarders &&
10931090
metadata.trusted_forwarders.length > 0
@@ -1456,9 +1453,8 @@ export class ContractDeployer extends RPCConnectionHandler {
14561453
const parsedMetadata = await AirdropContractDeploy.parseAsync(metadata);
14571454
const contractURI = await this.storage.upload(parsedMetadata);
14581455

1459-
const chainId = (await this.getProvider().getNetwork()).chainId;
1460-
const trustedForwarders = getDefaultTrustedForwarders(chainId);
1461-
// add default forwarders to any custom forwarders passed in
1456+
const trustedForwarders: string[] = [];
1457+
// add any custom forwarders passed in
14621458
if (
14631459
metadata.trusted_forwarders &&
14641460
metadata.trusted_forwarders.length > 0
@@ -1488,9 +1484,8 @@ export class ContractDeployer extends RPCConnectionHandler {
14881484
const parsedMetadata = await AirdropContractDeploy.parseAsync(metadata);
14891485
const contractURI = await this.storage.upload(parsedMetadata);
14901486

1491-
const chainId = (await this.getProvider().getNetwork()).chainId;
1492-
const trustedForwarders = getDefaultTrustedForwarders(chainId);
1493-
// add default forwarders to any custom forwarders passed in
1487+
const trustedForwarders: string[] = [];
1488+
// add any custom forwarders passed in
14941489
if (
14951490
metadata.trusted_forwarders &&
14961491
metadata.trusted_forwarders.length > 0
@@ -1520,9 +1515,8 @@ export class ContractDeployer extends RPCConnectionHandler {
15201515
const parsedMetadata = await AirdropContractDeploy.parseAsync(metadata);
15211516
const contractURI = await this.storage.upload(parsedMetadata);
15221517

1523-
const chainId = (await this.getProvider().getNetwork()).chainId;
1524-
const trustedForwarders = getDefaultTrustedForwarders(chainId);
1525-
// add default forwarders to any custom forwarders passed in
1518+
const trustedForwarders: string[] = [];
1519+
// add any custom forwarders passed in
15261520
if (
15271521
metadata.trusted_forwarders &&
15281522
metadata.trusted_forwarders.length > 0

packages/sdk/src/evm/zksync/constants/addresses.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,5 +97,7 @@ export function zkGetDefaultTrustedForwarders(
9797
chainId: number,
9898
contractName?: string,
9999
): string[] {
100+
// Since ZkSync has gas sponsoring through native Account Abstraction,
101+
// it doesn’t need a forwarder
100102
return [];
101103
}

0 commit comments

Comments
 (0)