From 257c16e07cb8c000aa5506d3cd679e9508df4501 Mon Sep 17 00:00:00 2001 From: Benjamin Bollen <ben@erisindustries.com> Date: Wed, 8 Jun 2016 13:30:24 +0200 Subject: [PATCH] implement interface calls for definitions.Pipe in ErisMintPipe --- manager/eris-mint/pipe.go | 42 ++++++++++++++++++++++++++++++++++++++- manager/manager.go | 2 +- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/manager/eris-mint/pipe.go b/manager/eris-mint/pipe.go index 08e3000b..45d5c40b 100644 --- a/manager/eris-mint/pipe.go +++ b/manager/eris-mint/pipe.go @@ -27,6 +27,7 @@ import ( log "github.com/eris-ltd/eris-logger" config "github.com/eris-ltd/eris-db/config" + definitions "github.com/eris-ltd/eris-db/definitions" state "github.com/eris-ltd/eris-db/manager/eris-mint/state" state_types "github.com/eris-ltd/eris-db/manager/eris-mint/state/types" ) @@ -35,6 +36,14 @@ type ErisMintPipe struct { erisMintState *state.State eventSwitch *tendermint_events.EventSwitch erisMint *ErisMint + // Pipe implementations + accounts definitions.Accounts + blockchain definitions.Blockchain + consensus definitions.Consensus + events definitions.EventEmitter + namereg definitions.NameReg + net definitions.Net + transactor definitions.Transactor } func NewErisMintPipe(moduleConfig *config.ModuleConfig, @@ -52,12 +61,15 @@ func NewErisMintPipe(moduleConfig *config.ModuleConfig, erisMint := NewErisMint(startedState, eventSwitch) // NOTE: [ben] Set Host opens an RPC pipe to Tendermint; this is a remnant - // of the old Eris-DB / Tendermint and should be + // of the old Eris-DB / Tendermint and should be considered as an in-process + // call when possible tendermintHost := moduleConfig.Config.GetString("tendermint_host") log.Debug("Starting ErisMint RPC client to Tendermint host on %s", tendermintHost) erisMint.SetHostAddress(tendermintHost) + + return &ErisMintPipe { erisMintState: startedState, eventSwitch: eventSwitch, @@ -113,3 +125,31 @@ func startState(dataDir, backend, genesisFile, chainId string) (*state.State, //------------------------------------------------------------------------------ // Implement definitions.Pipe for ErisMintPipe + +func (pipe *ErisMintPipe) Accounts() definitions.Accounts { + return pipe.accounts +} + +func (pipe *ErisMintPipe) Blockchain() definitions.Blockchain { + return pipe.blockchain +} + +func (pipe *ErisMintPipe) Consensus() definitions.Consensus { + return pipe.consensus +} + +func (pipe *ErisMintPipe) Events() definitions.EventEmitter { + return pipe.events +} + +func (pipe *ErisMintPipe) NameReg() definitions.NameReg { + return pipe.namereg +} + +func (pipe *ErisMintPipe) Net() definitions.Net { + return pipe.net +} + +func (pipe *ErisMintPipe) Transactor() definitions.Transactor { + return pipe.transactor +} diff --git a/manager/manager.go b/manager/manager.go index fa79d827..6204685d 100644 --- a/manager/manager.go +++ b/manager/manager.go @@ -41,7 +41,7 @@ func NewApplicationPipe(moduleConfig *config.ModuleConfig, err != nil { return nil, err } - erismint.NewErisMintPipe(moduleConfig, genesisFile, evsw) + return erismint.NewErisMintPipe(moduleConfig, genesisFile, evsw) // TODO: ErisMintPipe does not yet implement definitions.Pipe } return nil, fmt.Errorf("PLACEHOLDER") -- GitLab