Skip to content

Commit

Permalink
Remove buildContractCall and rename buildContractCallViem back to bui…
Browse files Browse the repository at this point in the history
…ldContractCall
  • Loading branch information
adamgall committed Jun 17, 2024
1 parent e075de1 commit 15dd9fb
Show file tree
Hide file tree
Showing 8 changed files with 32 additions and 65 deletions.
24 changes: 0 additions & 24 deletions src/helpers/crypto.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
import { Contract } from 'ethers';
import {
hashTypedData,
Hash,
zeroAddress,
toHex,
toBytes,
encodePacked,
getAddress,
Address,
bytesToBigInt,
Hex,
isHex,
encodeFunctionData,
Abi,
WalletClient,
Expand Down Expand Up @@ -189,27 +186,6 @@ const finishBuildingConractCall = (
};

export const buildContractCall = (
contract: Contract,
method: string,
params: any[],
nonce: number,
delegateCall?: boolean,
overrides?: Partial<SafeTransaction>,
): SafeTransaction => {
const data = contract.interface.encodeFunctionData(method, params);
if (!isHex(data)) {
throw new Error('encoded function data not hexadecimal');
}
return finishBuildingConractCall(
data,
nonce,
getAddress(contract.address),
delegateCall,
overrides,
);
};

export const buildContractCallViem = (
contractAbi: Abi,
contractAddress: Address,
method: string,
Expand Down
1 change: 0 additions & 1 deletion src/hooks/DAO/loaders/useFractalFreeze.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,6 @@ export const useFractalFreeze = ({
account || zeroAddress,
BigInt(freezeCreatedBlock),
]);
// const isFrozen = await freezeVotingContract.read.isFrozen();

const freezeGuard = {
freezeVotesThreshold,
Expand Down
26 changes: 13 additions & 13 deletions src/models/AzoriusTxBuilder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import ModuleProxyFactoryAbi from '../assets/abi/ModuleProxyFactory';
import VotesERC20Abi from '../assets/abi/VotesERC20';
import VotesERC20WrapperAbi from '../assets/abi/VotesERC20Wrapper';
import { SENTINEL_ADDRESS } from '../constants/common';
import { buildContractCallViem, getRandomBytes } from '../helpers';
import { buildContractCall, getRandomBytes } from '../helpers';
import {
SafeTransaction,
AzoriusGovernanceDAO,
Expand Down Expand Up @@ -138,7 +138,7 @@ export class AzoriusTxBuilder extends BaseTxBuilder {

public buildRemoveOwners(owners: string[]): SafeTransaction[] {
const removeOwnerTxs = owners.map(owner =>
buildContractCallViem(
buildContractCall(
GnosisSafeL2Abi,
this.safeContractAddress,
'removeOwner',
Expand All @@ -154,7 +154,7 @@ export class AzoriusTxBuilder extends BaseTxBuilder {
const daoData = this.daoData as AzoriusGovernanceDAO;

if (daoData.votingStrategyType === VotingStrategyType.LINEAR_ERC20) {
return buildContractCallViem(
return buildContractCall(
LinearERC20VotingAbi,
this.linearERC20VotingAddress!,
'setAzorius', // contract function name
Expand All @@ -163,7 +163,7 @@ export class AzoriusTxBuilder extends BaseTxBuilder {
false,
);
} else if (daoData.votingStrategyType === VotingStrategyType.LINEAR_ERC721) {
return buildContractCallViem(
return buildContractCall(
LinearERC721VotingAbi,
this.linearERC721VotingAddress!,
'setAzorius', // contract function name
Expand All @@ -177,7 +177,7 @@ export class AzoriusTxBuilder extends BaseTxBuilder {
}

public buildEnableAzoriusModuleTx(): SafeTransaction {
return buildContractCallViem(
return buildContractCall(
GnosisSafeL2Abi,
this.safeContractAddress,
'enableModule',
Expand All @@ -188,7 +188,7 @@ export class AzoriusTxBuilder extends BaseTxBuilder {
}

public buildAddAzoriusContractAsOwnerTx(): SafeTransaction {
return buildContractCallViem(
return buildContractCall(
GnosisSafeL2Abi,
this.safeContractAddress,
'addOwnerWithThreshold',
Expand All @@ -199,7 +199,7 @@ export class AzoriusTxBuilder extends BaseTxBuilder {
}

public buildRemoveMultiSendOwnerTx(): SafeTransaction {
return buildContractCallViem(
return buildContractCall(
GnosisSafeL2Abi,
this.safeContractAddress,
'removeOwner',
Expand All @@ -210,7 +210,7 @@ export class AzoriusTxBuilder extends BaseTxBuilder {
}

public buildCreateTokenTx(): SafeTransaction {
return buildContractCallViem(
return buildContractCall(
ModuleProxyFactoryAbi,
this.moduleProxyFactoryAddress,
'deployModule',
Expand All @@ -223,7 +223,7 @@ export class AzoriusTxBuilder extends BaseTxBuilder {
public buildDeployStrategyTx(): SafeTransaction {
const daoData = this.daoData as AzoriusGovernanceDAO;

return buildContractCallViem(
return buildContractCall(
ModuleProxyFactoryAbi,
this.moduleProxyFactoryAddress,
'deployModule',
Expand All @@ -240,7 +240,7 @@ export class AzoriusTxBuilder extends BaseTxBuilder {
}

public buildDeployAzoriusTx(): SafeTransaction {
return buildContractCallViem(
return buildContractCall(
ModuleProxyFactoryAbi,
this.moduleProxyFactoryAddress,
'deployModule',
Expand All @@ -251,7 +251,7 @@ export class AzoriusTxBuilder extends BaseTxBuilder {
}

public buildDeployTokenClaim() {
return buildContractCallViem(
return buildContractCall(
ModuleProxyFactoryAbi,
this.moduleProxyFactoryAddress,
'deployModule',
Expand All @@ -267,7 +267,7 @@ export class AzoriusTxBuilder extends BaseTxBuilder {
}

const azoriusGovernanceDaoData = this.daoData as AzoriusERC20DAO;
return buildContractCallViem(
return buildContractCall(
VotesERC20Abi,
this.votesTokenAddress,
'approve',
Expand All @@ -278,7 +278,7 @@ export class AzoriusTxBuilder extends BaseTxBuilder {
}

public buildCreateTokenWrapperTx(): SafeTransaction {
return buildContractCallViem(
return buildContractCall(
ModuleProxyFactoryAbi,
this.moduleProxyFactoryAddress,
'deployModule',
Expand Down
8 changes: 4 additions & 4 deletions src/models/DaoTxBuilder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import FractalRegistryAbi from '../assets/abi/FractalRegistry';
import GnosisSafeL2Abi from '../assets/abi/GnosisSafeL2';
import KeyValuePairsAbi from '../assets/abi/KeyValuePairs';
import MultiSendCallOnlyAbi from '../assets/abi/MultiSendCallOnly';
import { buildContractCallViem, encodeMultiSend } from '../helpers';
import { buildContractCall, encodeMultiSend } from '../helpers';
import {
SafeMultisigDAO,
SafeTransaction,
Expand Down Expand Up @@ -230,7 +230,7 @@ export class DaoTxBuilder extends BaseTxBuilder {
//

private buildUpdateDAONameTx(): SafeTransaction {
return buildContractCallViem(
return buildContractCall(
FractalRegistryAbi,
getAddress(this.fractalRegistryAddress),
'updateDAOName',
Expand All @@ -241,7 +241,7 @@ export class DaoTxBuilder extends BaseTxBuilder {
}

private buildUpdateDAOSnapshotENSTx(): SafeTransaction {
return buildContractCallViem(
return buildContractCall(
KeyValuePairsAbi,
getAddress(this.keyValuePairsAddress),
'updateValues',
Expand All @@ -253,7 +253,7 @@ export class DaoTxBuilder extends BaseTxBuilder {

private buildExecInternalSafeTx(signatures: string): SafeTransaction {
const safeInternalTx = encodeMultiSend(this.internalTxs);
return buildContractCallViem(
return buildContractCall(
GnosisSafeL2Abi,
this.safeContractAddress,
'execTransaction',
Expand Down
24 changes: 8 additions & 16 deletions src/models/FreezeGuardTxBuilder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import GnosisSafeL2Abi from '../assets/abi/GnosisSafeL2';
import ModuleProxyFactoryAbi from '../assets/abi/ModuleProxyFactory';
import MultisigFreezeGuardAbi from '../assets/abi/MultisigFreezeGuard';
import MultisigFreezeVotingAbi from '../assets/abi/MultisigFreezeVoting';
import { buildContractCallViem } from '../helpers';
import { buildContractCall } from '../helpers';
import { SafeTransaction, SubDAO, VotingStrategyType } from '../types';
import { BaseTxBuilder } from './BaseTxBuilder';
import { generateContractByteCodeLinear, generateSalt } from './helpers/utils';
Expand Down Expand Up @@ -98,7 +98,7 @@ export class FreezeGuardTxBuilder extends BaseTxBuilder {
}

public buildDeployZodiacModuleTx(): SafeTransaction {
return buildContractCallViem(
return buildContractCall(
ModuleProxyFactoryAbi,
this.moduleProxyFactoryAddress,
'deployModule',
Expand Down Expand Up @@ -145,30 +145,22 @@ export class FreezeGuardTxBuilder extends BaseTxBuilder {
];

if (this.freezeVotingType === 'erc20') {
return buildContractCallViem(ERC20FreezeVotingAbi, this.freezeVotingAddress, ...functionArgs);
return buildContractCall(ERC20FreezeVotingAbi, this.freezeVotingAddress, ...functionArgs);
} else if (this.freezeVotingType === 'erc721') {
return buildContractCallViem(
ERC721FreezeVotingAbi,
this.freezeVotingAddress,
...functionArgs,
);
return buildContractCall(ERC721FreezeVotingAbi, this.freezeVotingAddress, ...functionArgs);
} else if (this.freezeVotingType === 'multisig') {
return buildContractCallViem(
MultisigFreezeVotingAbi,
this.freezeVotingAddress,
...functionArgs,
);
return buildContractCall(MultisigFreezeVotingAbi, this.freezeVotingAddress, ...functionArgs);
} else {
throw new Error('unsupported freeze voting type');
}
}

public buildSetGuardTx(abi: Abi, address: Address): SafeTransaction {
return buildContractCallViem(abi, address, 'setGuard', [this.freezeGuardAddress], 0, false);
return buildContractCall(abi, address, 'setGuard', [this.freezeGuardAddress], 0, false);
}

public buildSetGuardTxSafe(safeAddress: Address): SafeTransaction {
return buildContractCallViem(
return buildContractCall(
GnosisSafeL2Abi,
safeAddress,
'setGuard',
Expand All @@ -179,7 +171,7 @@ export class FreezeGuardTxBuilder extends BaseTxBuilder {
}

public buildDeployFreezeGuardTx() {
return buildContractCallViem(
return buildContractCall(
ModuleProxyFactoryAbi,
this.moduleProxyFactoryAddress,
'deployModule',
Expand Down
4 changes: 2 additions & 2 deletions src/models/MultisigTxBuilder.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Address } from 'viem';
import GnosisSafeL2Abi from '../assets/abi/GnosisSafeL2';
import { buildContractCallViem } from '../helpers';
import { buildContractCall } from '../helpers';
import { SafeMultisigDAO, SafeTransaction } from '../types';

export class MultisigTxBuilder {
Expand Down Expand Up @@ -28,7 +28,7 @@ export class MultisigTxBuilder {
};

public buildRemoveMultiSendOwnerTx(): SafeTransaction {
return buildContractCallViem(
return buildContractCall(
GnosisSafeL2Abi,
this.safeContractAddress,
'removeOwner',
Expand Down
6 changes: 3 additions & 3 deletions src/models/helpers/fractalModuleData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
import FractalModuleAbi from '../../assets/abi/FractalModule';
import GnosisSafeL2Abi from '../../assets/abi/GnosisSafeL2';
import ModuleProxyFactoryAbi from '../../assets/abi/ModuleProxyFactory';
import { buildContractCallViem } from '../../helpers/crypto';
import { buildContractCall } from '../../helpers/crypto';
import { SafeTransaction } from '../../types';
import { generateContractByteCodeLinear, generateSalt } from './utils';

Expand Down Expand Up @@ -44,7 +44,7 @@ export const fractalModuleData = (

const fractalSalt = generateSalt(fractalModuleCalldata, saltNum);

const deployFractalModuleTx = buildContractCallViem(
const deployFractalModuleTx = buildContractCall(
ModuleProxyFactoryAbi,
moduleProxyFactoryAddress,
'deployModule',
Expand All @@ -59,7 +59,7 @@ export const fractalModuleData = (
bytecodeHash: keccak256(encodePacked(['bytes'], [fractalByteCodeLinear])),
});

const enableFractalModuleTx = buildContractCallViem(
const enableFractalModuleTx = buildContractCall(
GnosisSafeL2Abi,
safeAddress,
'enableModule',
Expand Down
4 changes: 2 additions & 2 deletions src/models/helpers/safeData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {
} from 'viem';
import GnosisSafeL2Abi from '../../assets/abi/GnosisSafeL2';
import GnosisSafeProxyFactoryAbi from '../../assets/abi/GnosisSafeProxyFactory';
import { buildContractCallViem } from '../../helpers/crypto';
import { buildContractCall } from '../../helpers/crypto';
import { SafeMultisigDAO } from '../../types';

export const safeData = async (
Expand Down Expand Up @@ -66,7 +66,7 @@ export const safeData = async (
),
});

const createSafeTx = buildContractCallViem(
const createSafeTx = buildContractCall(
GnosisSafeProxyFactoryAbi,
safeFactoryContract.address,
'createProxyWithNonce',
Expand Down

0 comments on commit 15dd9fb

Please sign in to comment.