type AccountContractInfo = { abi?: ContractInterface; execute: ( account: SmartContract, target: string, value: BigNumberish, data: string, ) => Promise<Transaction>; getNonce: (account: SmartContract) => Promise<BigNumber>; };