Skip to content
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.

Commit

Permalink
typessss
Browse files Browse the repository at this point in the history
  • Loading branch information
davidmurdoch committed May 5, 2023
1 parent 60192de commit 78bbafc
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 20 deletions.
2 changes: 1 addition & 1 deletion src/packages/core/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ const Ganache = {
* `options.flavor` which defaults to `ethereum`.
*/
server: <F extends AnyFlavor = EthereumFlavor>(
options?: ServerOptions<F> & ProviderOptions<F>
options?: ServerOptions<F>
): Server<F> => new Server<F>(options),

/**
Expand Down
4 changes: 2 additions & 2 deletions src/packages/core/src/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ export class Server<F extends AnyFlavor = EthereumFlavor> extends Emittery<{
}

constructor(
options: ServerOptions<F> & { flavor?: F["flavor"] } = {
options: ServerOptions<F> = {
flavor: "ethereum"
} as ServerOptions<F>
) {
Expand All @@ -126,7 +126,7 @@ export class Server<F extends AnyFlavor = EthereumFlavor> extends Emittery<{
// const provider = server.provider; // this needs to exist
// await server.listen(8545)
// ```
const { flavor, connector, promise } = initializeFlavor(options);
const { flavor, connector, promise } = initializeFlavor<F>(options);
this.#connector = connector;

let serverOptions = ServerOptionsConfig.normalize(options);
Expand Down
9 changes: 7 additions & 2 deletions src/packages/core/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,19 @@ export type ProviderOptions<F extends AnyFlavor> =
: {
flavor: F["flavor"];
}) &
Parameters<F["connect"]>[0];
Parameters<F["options"]["provider"]["normalize"]>[0];

/**
* The server options include the default server optoins, the flavor's server
* options, and ProviderOptions<F>
*/
export type ServerOptions<F extends AnyFlavor = EthereumFlavor> = Partial<{
[K in keyof NamespacedServerConfigOptions]: ExternalConfig<
NamespacedServerConfigOptions[K]
>;
}> &
Parameters<F["connect"]>[0];
ProviderOptions<F> &
Parameters<F["options"]["server"]["normalize"]>[0];

export type InternalServerOptions =
InternalOptions<NamespacedServerConfigOptions>;
2 changes: 1 addition & 1 deletion src/packages/flavor/example/src/flavor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,6 @@ async function ready({
`curl -X POST --data '${JSON.stringify({
method: "sendFunds",
params: [provider.getAccounts()[0], "<a different account>", 99]
})}' http://${options.server.host}:${options.options.port}`
})}' http://${options.server.host}:${options.server.port}`
);
}
6 changes: 1 addition & 5 deletions src/packages/flavor/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,7 @@ export type {
HttpRequest,
WebSocket
} from "@trufflesuite/uws-js-unofficial";
export type {
Connector,
ConnectorConstructor,
WebsocketConnector
} from "./src/connector";
export type { Connector, WebsocketConnector } from "./src/connector";
export type { Executor } from "@ganache/utils";

export type { ServerConfig } from "./src/options/server/server-config";
Expand Down
9 changes: 0 additions & 9 deletions src/packages/flavor/src/connector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,6 @@ import {

export type { WebSocket, HttpRequest } from "@trufflesuite/uws-js-unofficial";

export interface ConnectorConstructor<Provider, RequestFormat, ResponseFormat> {
new (
providerOptions: Partial<
Record<string, unknown | Partial<Record<string, unknown>>>
> | null,
executor: Executor
): Connector<Provider, RequestFormat, ResponseFormat>;
}

/**
* Connects an arbitrary public chain provider to ganache
*/
Expand Down

0 comments on commit 78bbafc

Please sign in to comment.