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