Skip to content

Commit

Permalink
Update usage of separate multisigs
Browse files Browse the repository at this point in the history
  • Loading branch information
LikoIlya committed Jun 27, 2024
1 parent 3f21a6f commit 423a826
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
4 changes: 2 additions & 2 deletions src/methods/changeMultisigOwners.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { Contracts } from "../contracts/contracts";
import { ContractNames, slavesMultisigsNames } from "../contracts/names";
import { getSlavesMultisigsNames } from "../contracts/names";
import { MasterMultisig } from "../../typechain-types";
import { submitTransaction } from "../multisig/submitTransaction";

export async function changeMultisigOwners(contracts: Contracts, newOwner: string, multisigAddresses?: string[]) {
if (!multisigAddresses)
multisigAddresses = slavesMultisigsNames
multisigAddresses = getSlavesMultisigsNames(contracts.multisigVersion)
.map((n) => contracts.getContractByNameSafe(n)?.address)
.filter((el) => el !== undefined) as string[];

Expand Down
12 changes: 6 additions & 6 deletions src/multisig/submitTransaction.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Multisig } from "../../typechain-types";
import { BaseContract, BigNumberish, PopulatedTransaction } from "ethers";
import { ContractNames, MULTISIGS } from "../contracts/names";
import { ContractNames, getMultisigs } from "../contracts/names";
import { Contracts } from "../contracts/contracts";

export async function submitTransaction(
Expand All @@ -22,15 +22,15 @@ export async function submitTransaction(

export async function submitTransaction2<T extends BaseContract>(
contracts: Contracts,
contractName: Omit<ContractNames, ContractNames.MasterMultisig>,
contractName: Omit<ContractNames, ContractNames.MasterMultisig & ContractNames.Ecosystem_MasterMultisig>,
value: BigNumberish,
calldataTx: (contract: T["populateTransaction"]) => Promise<PopulatedTransaction>
) {
const contractNameTyped: keyof typeof MULTISIGS = (contractName as keyof typeof MULTISIGS);
if (MULTISIGS[contractNameTyped] === undefined)
throw new Error(`Multisig for ${contractName} not found`);
const multisigs = getMultisigs(contracts.multisigVersion);
const contractNameTyped: keyof typeof multisigs = contractName as keyof typeof multisigs;
if (multisigs[contractNameTyped] === undefined) throw new Error(`Multisig for ${contractName} not found`);
const contract = contracts.getContractByName(contractNameTyped) as T;
const multisig = contracts.getContractByName(MULTISIGS[contractNameTyped]) as Multisig;
const multisig = contracts.getContractByName(multisigs[contractNameTyped]) as Multisig;
const calldata = (await calldataTx(contract.populateTransaction)).data!;
return await submitTransaction(multisig, contract.address, value, calldata);
}

0 comments on commit 423a826

Please sign in to comment.