github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/auth/ibc-tx/mode_handler.go (about)

     1  package ibc_tx
     2  
     3  import (
     4  	"fmt"
     5  
     6  	signing2 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/tx/signing"
     7  	signing "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/auth/ibcsigning"
     8  )
     9  
    10  // DefaultSignModes are the default sign modes enabled for protobuf transactions.
    11  var DefaultSignModes = []signing2.SignMode{
    12  	signing2.SignMode_SIGN_MODE_DIRECT,
    13  	//signing2.SignMode_SIGN_MODE_LEGACY_AMINO_JSON,
    14  }
    15  
    16  // makeSignModeHandler returns the default protobuf SignModeHandler supporting
    17  // SIGN_MODE_DIRECT and SIGN_MODE_LEGACY_AMINO_JSON.
    18  func makeSignModeHandler(modes []signing2.SignMode) signing.SignModeHandler {
    19  	if len(modes) < 1 {
    20  		panic(fmt.Errorf("no sign modes enabled"))
    21  	}
    22  
    23  	handlers := make([]signing.SignModeHandler, len(modes))
    24  
    25  	for i, mode := range modes {
    26  		switch mode {
    27  		case signing2.SignMode_SIGN_MODE_DIRECT:
    28  			handlers[i] = signModeDirectHandler{}
    29  		//case signing2.SignMode_SIGN_MODE_LEGACY_AMINO_JSON:
    30  		//	handlers[i] = signModeLegacyAminoJSONHandler{}
    31  		default:
    32  			panic(fmt.Errorf("unsupported sign mode %+v", mode))
    33  		}
    34  	}
    35  
    36  	return signing.NewSignModeHandlerMap(
    37  		modes[0],
    38  		handlers,
    39  	)
    40  }