2016-02-07 22:54:49 -08:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
2017-05-12 11:29:13 -07:00
|
|
|
"os"
|
|
|
|
|
2017-07-19 01:51:36 -07:00
|
|
|
"github.com/tendermint/tmlibs/cli"
|
|
|
|
|
2017-07-21 09:25:30 -07:00
|
|
|
"github.com/tendermint/basecoin"
|
2017-06-20 21:26:21 -07:00
|
|
|
"github.com/tendermint/basecoin/cmd/basecoin/commands"
|
2017-07-21 09:25:30 -07:00
|
|
|
"github.com/tendermint/basecoin/modules/auth"
|
|
|
|
"github.com/tendermint/basecoin/modules/base"
|
|
|
|
"github.com/tendermint/basecoin/modules/coin"
|
|
|
|
"github.com/tendermint/basecoin/modules/fee"
|
|
|
|
"github.com/tendermint/basecoin/modules/ibc"
|
|
|
|
"github.com/tendermint/basecoin/modules/nonce"
|
|
|
|
"github.com/tendermint/basecoin/modules/roles"
|
|
|
|
"github.com/tendermint/basecoin/stack"
|
2017-01-28 18:12:58 -08:00
|
|
|
)
|
|
|
|
|
2017-07-21 09:25:30 -07:00
|
|
|
// BuildApp constructs the stack we want to use for this app
|
|
|
|
func BuildApp(feeDenom string) basecoin.Handler {
|
|
|
|
return stack.New(
|
|
|
|
base.Logger{},
|
|
|
|
stack.Recovery{},
|
|
|
|
auth.Signatures{},
|
|
|
|
base.Chain{},
|
|
|
|
stack.Checkpoint{OnCheck: true},
|
|
|
|
nonce.ReplayCheck{},
|
|
|
|
).
|
|
|
|
IBC(ibc.NewMiddleware()).
|
|
|
|
Apps(
|
|
|
|
roles.NewMiddleware(),
|
|
|
|
fee.NewSimpleFeeMiddleware(coin.Coin{feeDenom, 0}, fee.Bank),
|
|
|
|
stack.Checkpoint{OnDeliver: true},
|
|
|
|
).
|
|
|
|
Dispatch(
|
2017-07-21 10:53:52 -07:00
|
|
|
coin.NewHandler(),
|
|
|
|
stack.WrapHandler(roles.NewHandler()),
|
|
|
|
stack.WrapHandler(ibc.NewHandler()),
|
2017-07-21 09:25:30 -07:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2016-02-07 22:54:49 -08:00
|
|
|
func main() {
|
2017-06-26 05:28:56 -07:00
|
|
|
rt := commands.RootCmd
|
2017-03-08 23:19:07 -08:00
|
|
|
|
2017-07-12 11:38:54 -07:00
|
|
|
// require all fees in mycoin - change this in your app!
|
2017-07-21 09:25:30 -07:00
|
|
|
commands.Handler = BuildApp("mycoin")
|
2017-07-04 04:43:25 -07:00
|
|
|
|
2017-06-26 05:28:56 -07:00
|
|
|
rt.AddCommand(
|
2017-03-13 14:23:05 -07:00
|
|
|
commands.InitCmd,
|
2017-01-30 06:16:51 -08:00
|
|
|
commands.StartCmd,
|
2017-07-05 03:57:52 -07:00
|
|
|
//commands.RelayCmd,
|
2017-03-13 17:20:07 -07:00
|
|
|
commands.UnsafeResetAllCmd,
|
2017-03-08 23:19:07 -08:00
|
|
|
commands.VersionCmd,
|
|
|
|
)
|
|
|
|
|
2017-06-26 05:28:56 -07:00
|
|
|
cmd := cli.PrepareMainCmd(rt, "BC", os.ExpandEnv("$HOME/.basecoin"))
|
2017-07-05 03:57:52 -07:00
|
|
|
cmd.Execute()
|
2016-02-07 22:54:49 -08:00
|
|
|
}
|