import { Node } from "@counterfactual/types" ; import { Signature } from "ethers/utils" ; export abstract class EthereumCommitment { public abstract hashToSign ( signerIsIntermediary ? ) ; public abstract getSignedTransaction ( signatures , intermediarySignature ? ) ; } export enum MultisigOperation { Call = 0 , DelegateCall = 1 , Create = 2 } export type MultisigTransaction = Node . MinimalTransaction & { operation : MultisigOperation ; } ;