type TransactionOptionsWithContract<TResult = TransactionResult> = Omit<TransactionOptions<TResult>, "contract"> & { contract: Contract; provider: providers.Provider; signer: Signer; };