General

FCTCallParam

type FCTCallParam = 
    | string 
    | number 
    | boolean 
    | FCTCallParam[] 
    | { [key: string]: FCTCallParam };

BatchMultiSigCallConstructor

interface BatchMultiSigCallConstructor {
  chainId?: ChainId;
  options?: Partial<IFCTOptions>;
  defaults?: DeepPartial<ICallDefaults>;
}

IBatchMultiSigCallFCT

interface IBatchMultiSigCallFCT {
  typeHash: string;
  typedData: BatchMultiSigCallTypedData;
  sessionId: string;
  nameHash: string;
  mcall: MSCall[];
  builder: string;
  variables: string[];
  externalSigners: string[];
  computed: {
    variable: string;
    add: string;
    sub: string;
    mul: string;
    div: string;
  }[];
  signatures: SignatureLike[];
}

PartialBatchMultiSigCall

type PartialBatchMultiSigCall = 
    Pick<IBatchMultiSigCallFCT, "typedData" | "signatures" | "mcall">;

MSCallMandatory

interface MSCallMandatory {
  nodeId?: string;
  from?: string | Variable;
  value?: string | Variable;
  options?: CallOptions;
}

IMSCallInput

type IMSCallInput = {
  to: string | Variable;
  params?: Param[];
  method?: string;
  toENS?: string;
} & MSCallMandatory;

IMSCallInputWithNodeId

type IMSCallInputWithNodeId = RequiredKeys<IMSCallInput, "nodeId">;

StrictMSCallInput

type StrictMSCallInput = 
    RequiredKeys<IMSCallInput, "from" | "value" | "nodeId" | "options"> 
    & {
      options: DeepRequired<CallOptions>;
    };

DecodedCalls

interface DecodedCalls extends StrictMSCallInput {
  params?: ParamWithoutVariable[];
}

IWithPlugin

type IWithPlugin = {
  plugin: {
    create(): Promise<IPluginCall | undefined>;
  };
} & MSCallMandatory;

IMSCallWithEncodedData

type IMSCallWithEncodedData = {
  nodeId?: string;
  abi: ReadonlyArray<Fragment | JsonFragment>;
  encodedData: string;
  to: string | Variable;
} & MSCallMandatory;

FCTCall

type FCTCall = IMSCallInput | IWithPlugin | IMSCallWithEncodedData;

MSCall

interface MSCall {
  typeHash: string;
  ensHash: string;
  functionSignature: string;
  value: string;
  callId: string;
  from: string;
  to: string;
  data: string;
  types: number[];
  typedHashes: string[];
}

IFCTOptions

interface IFCTOptions {
  name?: string;
  validFrom: string;
  expiresAt: string;
  maxGasPrice: string;
  blockable: boolean;
  purgeable: boolean;
  builder: string;
  recurrency?: {
    maxRepeats: string;
    chillTime: string;
    accumetable: boolean;
  };
  multisig?: {
    externalSigners?: string[];
    minimumApprovals?: string;
  };
}

RequiredFCTOptions

type RequiredFCTOptions = DeepRequired<IFCTOptions>;

IComputedValue

type IComputedValue = string | Variable;

IComputed

interface IComputed {
  id?: string;
  value: IComputedValue;
  add?: IComputedValue;
  sub?: IComputedValue;
  pow?: IComputedValue;
  mul?: IComputedValue;
  div?: IComputedValue;
  mod?: IComputedValue;
}

ComputedVariables

interface ComputedVariables {
  index: string;
  value: string;
  add: string;
  sub: string;
  pow: string;
  mul: string;
  div: string;
  mod: string;
}

IRequiredApproval

type IRequiredApproval = (
  | {
      protocol: "ERC20";
      method: "approve";
      params: {
        spender: string;
        amount: string;
      };
    }
  | {
      protocol: "ERC721";
      method: "approve";
      params: {
        spender: string;
        tokenId: string;
      };
    }
  | {
      protocol: "ERC1155" | "ERC721";
      method: "setApprovalForAll";
      params: {
        spender: string;
        approved: boolean;
      };
    }
) & {
  token: string;
  from: string;
};

ICallDefaults

type ICallDefaults = Omit<RequiredKeys<MSCallMandatory, "value">, "nodeId"> & {
  options: DeepRequired<CallOptions>;
};

Last updated