Skip to content

Commit

Permalink
feat(core-kernel): application and service provider bootstrappers
Browse files Browse the repository at this point in the history
  • Loading branch information
Brian Faust committed Aug 22, 2019
1 parent 53e4469 commit 85b6b60
Show file tree
Hide file tree
Showing 82 changed files with 843 additions and 797 deletions.
2 changes: 1 addition & 1 deletion packages/core-api/src/service-provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export class ServiceProvider extends Support.AbstractServiceProvider {
}
}

public getDefaults(): Record<string, any> {
public getDefaults(): Types.ConfigObject {
return defaults;
}

Expand Down
10 changes: 5 additions & 5 deletions packages/core-blockchain/src/blockchain.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { BlockProcessor, BlockProcessorResult } from "./processor";
import { stateMachine } from "./state-machine";

const logger = app.resolve<Contracts.Kernel.ILogger>("logger");
const emitter = app.resolve<Contracts.Kernel.IEventDispatcher>("event-dispatcher");
const emitter = app.resolve<Contracts.Kernel.IEventDispatcher>("events");
const { BlockFactory } = Blocks;

export class Blockchain implements Contracts.Blockchain.IBlockchain {
Expand All @@ -19,31 +19,31 @@ export class Blockchain implements Contracts.Blockchain.IBlockchain {
* @return {IStateStore}
*/
get state(): Contracts.State.IStateStore {
return stateMachine.state;
return app.resolve<Contracts.State.IStateService>("state").getStore();
}

/**
* Get the network (p2p) interface.
* @return {IPeerService}
*/
get p2p(): Contracts.P2P.IPeerService {
return app.resolve<Contracts.P2P.IPeerService>("p2p");
return app.p2p;
}

/**
* Get the transaction handler.
* @return {TransactionPool}
*/
get transactionPool(): Contracts.TransactionPool.IConnection {
return app.resolve<Contracts.TransactionPool.IConnection>("transaction-pool");
return app.transactionPool;
}

/**
* Get the database connection.
* @return {ConnectionInterface}
*/
get database(): Contracts.Database.IDatabaseService {
return app.resolve<Contracts.Database.IDatabaseService>("database");
return app.database;
}

public isStopped: boolean;
Expand Down
10 changes: 2 additions & 8 deletions packages/core-blockchain/src/service-provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,7 @@ import { ReplayBlockchain } from "./replay";

export class ServiceProvider extends Support.AbstractServiceProvider {
public async register(): Promise<void> {
let blockchain: Blockchain;

if (this.opts.replay) {
blockchain = new ReplayBlockchain();
} else {
blockchain = new Blockchain(this.opts);
}
const blockchain: Blockchain = this.opts.replay ? new ReplayBlockchain() : new Blockchain(this.opts);

this.app
.resolve<Contracts.State.IStateService>("state")
Expand All @@ -31,7 +25,7 @@ export class ServiceProvider extends Support.AbstractServiceProvider {
await this.app.resolve<Blockchain>("blockchain").stop();
}

public getDefaults(): Record<string, any> {
public getDefaults(): Types.ConfigObject {
return defaults;
}

Expand Down
11 changes: 5 additions & 6 deletions packages/core-blockchain/src/state-machine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,11 @@ import { blockchainMachine } from "./machines/blockchain";
import { Blockchain } from "./blockchain";

const { BlockFactory } = Blocks;
const emitter = app.resolve<Contracts.Kernel.IEventDispatcher>("event-dispatcher");
const emitter = app.resolve<Contracts.Kernel.IEventDispatcher>("events");
const logger = app.resolve<Contracts.Kernel.ILogger>("logger");
const stateStorage = app.resolve<Contracts.State.IStateService>("state").getStore();

/**
* @type {IStateStore}
*/
blockchainMachine.state = stateStorage;
// defer initialisation to "init" due to this being resolved before the container kicks in
let stateStorage;

/**
* The blockchain actions.
Expand Down Expand Up @@ -120,6 +117,8 @@ blockchainMachine.actionMap = (blockchain: Blockchain) => ({
},

async init() {
stateStorage = app.resolve<Contracts.State.IStateService>("state").getStore();

try {
const block: Interfaces.IBlock = await blockchain.database.getLastBlock();

Expand Down
2 changes: 1 addition & 1 deletion packages/core-database-postgres/src/postgres-connection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export class PostgresConnection implements Contracts.Database.IConnection {
public pgp: IMain;
private readonly logger: Contracts.Kernel.ILogger = app.resolve<Contracts.Kernel.ILogger>("logger");
private readonly emitter: Contracts.Kernel.IEventDispatcher = app.resolve<Contracts.Kernel.IEventDispatcher>(
"event-dispatcher",
"events",
);
private migrationsRepository: MigrationsRepository;
private cache: Map<any, any>;
Expand Down
2 changes: 1 addition & 1 deletion packages/core-database-postgres/src/service-provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export class ServiceProvider extends Support.AbstractServiceProvider {
await this.app.resolve<Contracts.Database.IDatabaseService>("database").connection.disconnect();
}

public getDefaults(): Record<string, any> {
public getDefaults(): Types.ConfigObject {
return defaults;
}

Expand Down
2 changes: 1 addition & 1 deletion packages/core-database-postgres/src/state-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Interfaces, Managers, Utils } from "@arkecosystem/crypto";
export class StateBuilder {
private readonly logger: Contracts.Kernel.ILogger = app.resolve<Contracts.Kernel.ILogger>("logger");
private readonly emitter: Contracts.Kernel.IEventDispatcher = app.resolve<Contracts.Kernel.IEventDispatcher>(
"event-dispatcher",
"events",
);

constructor(
Expand Down
2 changes: 1 addition & 1 deletion packages/core-database/src/database-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export class DatabaseService implements Contracts.Database.IDatabaseService {
public connection: Contracts.Database.IConnection;
public walletManager: Contracts.State.IWalletManager;
public logger = app.resolve<Contracts.Kernel.ILogger>("logger");
public emitter = app.resolve<Contracts.Kernel.IEventDispatcher>("event-dispatcher");
public emitter = app.resolve<Contracts.Kernel.IEventDispatcher>("events");
public options: any;
public wallets: Contracts.Database.IWalletsBusinessRepository;
public delegates: Contracts.Database.IDelegatesBusinessRepository;
Expand Down
2 changes: 1 addition & 1 deletion packages/core-elasticsearch/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export class ServiceProvider extends Support.AbstractServiceProvider {
await this.app.resolve("elasticsearch").stop();
}

public getDefaults(): Record<string, any> {
public getDefaults(): Types.ConfigObject {
return defaults;
}

Expand Down
2 changes: 1 addition & 1 deletion packages/core-elasticsearch/src/indices/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { storage } from "../storage";

export abstract class Index {
protected readonly emitter: Contracts.Kernel.IEventDispatcher = app.resolve<Contracts.Kernel.IEventDispatcher>(
"event-dispatcher",
"events",
);
protected readonly logger: Contracts.Kernel.ILogger = app.resolve<Contracts.Kernel.ILogger>("logger");
protected readonly database: Contracts.Database.IDatabaseService = app.resolve<Contracts.Database.IDatabaseService>(
Expand Down
2 changes: 1 addition & 1 deletion packages/core-error-tracker-airbrake/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export class ServiceProvider extends Support.AbstractServiceProvider {
this.app.bind("error-tracker", new AirBrake(this.opts));
}

public getDefaults(): Record<string, any> {
public getDefaults(): Types.ConfigObject {
return defaults;
}

Expand Down
2 changes: 1 addition & 1 deletion packages/core-error-tracker-bugsnag/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export class ServiceProvider extends Support.AbstractServiceProvider {
this.app.bind("error-tracker", bugsnag(this.opts as Bugsnag.IConfig));
}

public getDefaults(): Record<string, any> {
public getDefaults(): Types.ConfigObject {
return defaults;
}

Expand Down
2 changes: 1 addition & 1 deletion packages/core-error-tracker-raygun/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export class ServiceProvider extends Support.AbstractServiceProvider {
this.app.bind("error-tracker", new raygun.Client().init((this.opts as unknown) as raygun.raygun.RaygunOptions));
}

public getDefaults(): Record<string, any> {
public getDefaults(): Types.ConfigObject {
return defaults;
}

Expand Down
2 changes: 1 addition & 1 deletion packages/core-error-tracker-rollbar/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export class ServiceProvider extends Support.AbstractServiceProvider {
this.app.bind("error-tracker", new Rollbar(this.opts));
}

public getDefaults(): Record<string, any> {
public getDefaults(): Types.ConfigObject {
return defaults;
}

Expand Down
2 changes: 1 addition & 1 deletion packages/core-error-tracker-sentry/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export class ServiceProvider extends Support.AbstractServiceProvider {
this.app.bind("error-tracker", Sentry);
}

public getDefaults(): Record<string, any> {
public getDefaults(): Types.ConfigObject {
return defaults;
}

Expand Down
2 changes: 1 addition & 1 deletion packages/core-exchange-json-rpc/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export class ServiceProvider extends Support.AbstractServiceProvider {
}
}

public getDefaults(): Record<string, any> {
public getDefaults(): Types.ConfigObject {
return defaults;
}

Expand Down
2 changes: 1 addition & 1 deletion packages/core-explorer/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export class ServiceProvider extends Support.AbstractServiceProvider {
}
}

public getDefaults(): Record<string, any> {
public getDefaults(): Types.ConfigObject {
return defaults;
}

Expand Down
2 changes: 1 addition & 1 deletion packages/core-forger/src/service-provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export class ServiceProvider extends Support.AbstractServiceProvider {
}
}

public getDefaults(): Record<string, any> {
public getDefaults(): Types.ConfigObject {
return defaults;
}

Expand Down
Loading

0 comments on commit 85b6b60

Please sign in to comment.