mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-11-04 03:17:27 +00:00 
			
		
		
		
	add paychan module to app
This commit is contained in:
		
							parent
							
								
									68b9591042
								
							
						
					
					
						commit
						266d61eb4b
					
				@ -17,7 +17,7 @@ import (
 | 
			
		||||
	bankcmd "github.com/cosmos/cosmos-sdk/x/bank/client/cli"
 | 
			
		||||
	//ibccmd "github.com/cosmos/cosmos-sdk/x/ibc/client/cli"
 | 
			
		||||
	//stakecmd "github.com/cosmos/cosmos-sdk/x/stake/client/cli"
 | 
			
		||||
	paychancmd "github.com/kava-labs/kava/internal/x/paychan/client/cli"
 | 
			
		||||
	paychancmd "github.com/kava-labs/kava/internal/x/paychan/client/cmd"
 | 
			
		||||
 | 
			
		||||
	"github.com/kava-labs/kava/internal/app"
 | 
			
		||||
	"github.com/kava-labs/kava/internal/lcd"
 | 
			
		||||
@ -70,7 +70,7 @@ func main() {
 | 
			
		||||
		Use:   "paychan",
 | 
			
		||||
		Short: "Payment channel subcommands",
 | 
			
		||||
	}
 | 
			
		||||
	stakeCmd.AddCommand(
 | 
			
		||||
	paychanCmd.AddCommand(
 | 
			
		||||
		client.PostCommands(
 | 
			
		||||
			paychancmd.CreatePaychanCmd(cdc),
 | 
			
		||||
			paychancmd.GenerateNewStateCmd(cdc),
 | 
			
		||||
 | 
			
		||||
@ -18,6 +18,7 @@ import (
 | 
			
		||||
	//"github.com/cosmos/cosmos-sdk/x/slashing"
 | 
			
		||||
	//"github.com/cosmos/cosmos-sdk/x/stake"
 | 
			
		||||
	"github.com/kava-labs/kava/internal/types"
 | 
			
		||||
	"github.com/kava-labs/kava/internal/x/paychan"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
@ -32,6 +33,7 @@ type KavaApp struct {
 | 
			
		||||
	// keys to access the substores
 | 
			
		||||
	keyMain    *sdk.KVStoreKey
 | 
			
		||||
	keyAccount *sdk.KVStoreKey
 | 
			
		||||
	keyPaychan *sdk.KVStoreKey
 | 
			
		||||
	//keyIBC      *sdk.KVStoreKey
 | 
			
		||||
	//keyStake    *sdk.KVStoreKey
 | 
			
		||||
	//keySlashing *sdk.KVStoreKey
 | 
			
		||||
@ -40,6 +42,7 @@ type KavaApp struct {
 | 
			
		||||
	accountMapper       auth.AccountMapper
 | 
			
		||||
	feeCollectionKeeper auth.FeeCollectionKeeper
 | 
			
		||||
	coinKeeper          bank.Keeper
 | 
			
		||||
	paychanKeeper       paychan.Keeper
 | 
			
		||||
	//ibcMapper           ibc.Mapper
 | 
			
		||||
	//stakeKeeper         stake.Keeper
 | 
			
		||||
	//slashingKeeper      slashing.Keeper
 | 
			
		||||
@ -56,6 +59,7 @@ func NewKavaApp(logger log.Logger, db dbm.DB) *KavaApp {
 | 
			
		||||
		cdc:        cdc,
 | 
			
		||||
		keyMain:    sdk.NewKVStoreKey("main"),
 | 
			
		||||
		keyAccount: sdk.NewKVStoreKey("acc"),
 | 
			
		||||
		keyPaychan: sdk.NewKVStoreKey("paychan"),
 | 
			
		||||
		//keyIBC:      sdk.NewKVStoreKey("ibc"),
 | 
			
		||||
		//keyStake:    sdk.NewKVStoreKey("stake"),
 | 
			
		||||
		//keySlashing: sdk.NewKVStoreKey("slashing"),
 | 
			
		||||
@ -70,6 +74,7 @@ func NewKavaApp(logger log.Logger, db dbm.DB) *KavaApp {
 | 
			
		||||
 | 
			
		||||
	// add accountMapper/handlers
 | 
			
		||||
	app.coinKeeper = bank.NewKeeper(app.accountMapper)
 | 
			
		||||
	app.paychanKeeper = paychan.NewKeeper(app.cdc, app.keyPaychan, app.coinKeeper)
 | 
			
		||||
	//app.ibcMapper = ibc.NewMapper(app.cdc, app.keyIBC, app.RegisterCodespace(ibc.DefaultCodespace))
 | 
			
		||||
	//app.stakeKeeper = stake.NewKeeper(app.cdc, app.keyStake, app.coinKeeper, app.RegisterCodespace(stake.DefaultCodespace))
 | 
			
		||||
	//app.slashingKeeper = slashing.NewKeeper(app.cdc, app.keySlashing, app.stakeKeeper, app.RegisterCodespace(slashing.DefaultCodespace))
 | 
			
		||||
@ -77,7 +82,8 @@ func NewKavaApp(logger log.Logger, db dbm.DB) *KavaApp {
 | 
			
		||||
	// register message routes
 | 
			
		||||
	app.Router().
 | 
			
		||||
		AddRoute("auth", auth.NewHandler(app.accountMapper)).
 | 
			
		||||
		AddRoute("bank", bank.NewHandler(app.coinKeeper))
 | 
			
		||||
		AddRoute("bank", bank.NewHandler(app.coinKeeper)).
 | 
			
		||||
		AddRoute("paychan", paychan.NewHandler(app.paychanKeeper))
 | 
			
		||||
		//AddRoute("ibc", ibc.NewHandler(app.ibcMapper, app.coinKeeper)).
 | 
			
		||||
		//AddRoute("stake", stake.NewHandler(app.stakeKeeper))
 | 
			
		||||
 | 
			
		||||
@ -86,7 +92,7 @@ func NewKavaApp(logger log.Logger, db dbm.DB) *KavaApp {
 | 
			
		||||
	app.SetBeginBlocker(app.BeginBlocker)
 | 
			
		||||
	app.SetEndBlocker(app.EndBlocker)
 | 
			
		||||
	app.SetAnteHandler(auth.NewAnteHandler(app.accountMapper, app.feeCollectionKeeper))
 | 
			
		||||
	app.MountStoresIAVL(app.keyMain, app.keyAccount) //, app.keyIBC, app.keyStake, app.keySlashing)
 | 
			
		||||
	app.MountStoresIAVL(app.keyMain, app.keyAccount, app.keyPaychan) //, app.keyIBC, app.keyStake, app.keySlashing)
 | 
			
		||||
	err := app.LoadLatestVersion(app.keyMain)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		cmn.Exit(err.Error())
 | 
			
		||||
@ -100,6 +106,7 @@ func MakeCodec() *wire.Codec {
 | 
			
		||||
	wire.RegisterCrypto(cdc) // Register crypto.
 | 
			
		||||
	sdk.RegisterWire(cdc)    // Register Msgs
 | 
			
		||||
	bank.RegisterWire(cdc)
 | 
			
		||||
	paychan.RegisterWire(cdc)
 | 
			
		||||
	//stake.RegisterWire(cdc)
 | 
			
		||||
	//slashing.RegisterWire(cdc)
 | 
			
		||||
	//ibc.RegisterWire(cdc)
 | 
			
		||||
 | 
			
		||||
@ -13,6 +13,7 @@ import (
 | 
			
		||||
	sdk "github.com/cosmos/cosmos-sdk/types"
 | 
			
		||||
	"github.com/cosmos/cosmos-sdk/wire"
 | 
			
		||||
	"github.com/cosmos/cosmos-sdk/x/auth"
 | 
			
		||||
	authcmd "github.com/cosmos/cosmos-sdk/x/auth/client/cli"
 | 
			
		||||
 | 
			
		||||
	"github.com/kava-labs/kava/internal/x/paychan"
 | 
			
		||||
)
 | 
			
		||||
@ -44,7 +45,7 @@ func CreatePaychanCmd(cdc *wire.Codec) *cobra.Command {
 | 
			
		||||
		RunE: func(cmd *cobra.Command, args []string) error {
 | 
			
		||||
 | 
			
		||||
			// Create a "client context" stuct populated with info from common flags
 | 
			
		||||
			ctx := context.NewCoreContextFromViper()
 | 
			
		||||
			ctx := context.NewCoreContextFromViper().WithDecoder(authcmd.GetAccountDecoder(cdc))
 | 
			
		||||
 | 
			
		||||
			// Get sender adress
 | 
			
		||||
			senderAddress, err := ctx.GetFromAddress()
 | 
			
		||||
@ -95,12 +96,12 @@ func GenerateNewStateCmd(cdc *wire.Codec) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:   "new-state",
 | 
			
		||||
		Short: "Generate a new payment channel state.",
 | 
			
		||||
		Long:  "Generate a new state for an existing payment channel and print it out. The new state is represented as a half signed close transaction.",
 | 
			
		||||
		Long:  "Generate a new state for an existing payment channel and print it out. The new state is represented as a half signed close transaction, signed by the sender.",
 | 
			
		||||
		Args:  cobra.NoArgs,
 | 
			
		||||
		RunE: func(cmd *cobra.Command, args []string) error {
 | 
			
		||||
 | 
			
		||||
			// Create a "client context" stuct populated with info from common flags
 | 
			
		||||
			ctx := context.NewCoreContextFromViper()
 | 
			
		||||
			ctx := context.NewCoreContextFromViper().WithDecoder(authcmd.GetAccountDecoder(cdc))
 | 
			
		||||
 | 
			
		||||
			// Get sender adress
 | 
			
		||||
			senderAddress, err := ctx.GetFromAddress()
 | 
			
		||||
@ -141,8 +142,8 @@ func GenerateNewStateCmd(cdc *wire.Codec) *cobra.Command {
 | 
			
		||||
 | 
			
		||||
			// Print out the signed msg
 | 
			
		||||
			fmt.Println("txBytes:", txBytes)
 | 
			
		||||
			encodedTxBytes := make([]byte, base64.StdEncoding.EncodedLen(len(txBytes)))
 | 
			
		||||
			base64.StdEncoding.Encode(encodedTxBytes, txBytes)
 | 
			
		||||
			//encodedTxBytes := make([]byte, base64.StdEncoding.EncodedLen(len(txBytes)))
 | 
			
		||||
			encodedTxBytes := base64.StdEncoding.EncodeToString(txBytes)
 | 
			
		||||
			fmt.Println("base64TxBytes:", encodedTxBytes)
 | 
			
		||||
			return nil
 | 
			
		||||
		},
 | 
			
		||||
@ -159,10 +160,10 @@ func ClosePaychanCmd(cdc *wire.Codec) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:   "close",
 | 
			
		||||
		Short: "Close a payment channel, given a state",
 | 
			
		||||
		Long:  "Close an existing payment channel with a state received from a sender.",
 | 
			
		||||
		Long:  "Close an existing payment channel with a state received from a sender. This signs it as the receiver before submitting to the blockchain.",
 | 
			
		||||
		Args:  cobra.NoArgs,
 | 
			
		||||
		RunE: func(cmd *cobra.Command, args []string) error {
 | 
			
		||||
			ctx := context.NewCoreContextFromViper()
 | 
			
		||||
			ctx := context.NewCoreContextFromViper().WithDecoder(authcmd.GetAccountDecoder(cdc))
 | 
			
		||||
 | 
			
		||||
			// Get the sender-signed close tx
 | 
			
		||||
			state := viper.GetString(flagState)
 | 
			
		||||
@ -171,7 +172,7 @@ func ClosePaychanCmd(cdc *wire.Codec) *cobra.Command {
 | 
			
		||||
				return err
 | 
			
		||||
			}
 | 
			
		||||
			stdTx := auth.StdTx{}
 | 
			
		||||
			cdc.UnmarshalBinary(txBytes, stdTx)
 | 
			
		||||
			cdc.UnmarshalBinary(txBytes, &stdTx)
 | 
			
		||||
 | 
			
		||||
			// Sign close tx
 | 
			
		||||
 | 
			
		||||
@ -187,7 +188,6 @@ func ClosePaychanCmd(cdc *wire.Codec) *cobra.Command {
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			// Append signature to close tx
 | 
			
		||||
 | 
			
		||||
			stdTx.Signatures = append(stdTx.Signatures, sig)
 | 
			
		||||
			// encode close tx
 | 
			
		||||
			txBytes, err = cdc.MarshalBinary(stdTx)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user