From c2668335a7ca12947f19fdc9a5e8dfc0be34d0f3 Mon Sep 17 00:00:00 2001 From: HaoyangLiu Date: Thu, 13 Sep 2018 23:09:17 +0800 Subject: [PATCH] merge with develop --- Gopkg.lock | 42 +++++++------- client/keys/root.go | 2 - client/keys/sign.go | 98 --------------------------------- client/lcd/lcd_test.go | 9 +-- client/lcd/root.go | 1 - client/tx/broadcast.go | 83 +++++----------------------- client/tx/root.go | 5 -- x/auth/client/rest/query.go | 2 +- x/bank/client/rest/broadcast.go | 38 +++++++++++-- x/bank/client/rest/query.go | 12 +--- x/bank/client/rest/rest.go | 11 +++- x/bank/client/rest/sendtx.go | 10 ---- 12 files changed, 84 insertions(+), 229 deletions(-) delete mode 100644 client/keys/sign.go diff --git a/Gopkg.lock b/Gopkg.lock index ade94d88d..660158a9b 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -34,7 +34,7 @@ [[projects]] branch = "master" - digest = "1:6aabc1566d6351115d561d038da82a4c19b46c3b6e17f4a0a2fa60260663dc79" + digest = "1:2c00f064ba355903866cbfbf3f7f4c0fe64af6638cc7d1b8bdcf3181bc67f1d8" name = "github.com/btcsuite/btcd" packages = ["btcec"] pruneopts = "UT" @@ -71,7 +71,7 @@ version = "v1.4.7" [[projects]] - digest = "1:fa30c0652956e159cdb97dcb2ef8b8db63ed668c02a5c3a40961c8f0641252fe" + digest = "1:fdf5169073fb0ad6dc12a70c249145e30f4058647bea25f0abd48b6d9f228a11" name = "github.com/go-kit/kit" packages = [ "log", @@ -103,7 +103,7 @@ version = "v1.7.0" [[projects]] - digest = "1:212285efb97b9ec2e20550d81f0446cb7897e57cbdfd7301b1363ab113d8be45" + digest = "1:35621fe20f140f05a0c4ef662c26c0ab4ee50bca78aa30fe87d33120bd28165e" name = "github.com/gogo/protobuf" packages = [ "gogoproto", @@ -118,7 +118,7 @@ version = "v1.1.1" [[projects]] - digest = "1:cb22af0ed7c72d495d8be1106233ee553898950f15fd3f5404406d44c2e86888" + digest = "1:17fe264ee908afc795734e8c4e63db2accabaf57326dbf21763a7d6b86096260" name = "github.com/golang/protobuf" packages = [ "proto", @@ -165,7 +165,7 @@ [[projects]] branch = "master" - digest = "1:8951fe6e358876736d8fa1f3992624fdbb2dec6bc49401c1381d1ef8abbb544f" + digest = "1:12247a2e99a060cc692f6680e5272c8adf0b8f572e6bce0d7095e624c958a240" name = "github.com/hashicorp/hcl" packages = [ ".", @@ -262,7 +262,7 @@ version = "v1.0.0" [[projects]] - digest = "1:98225904b7abff96c052b669b25788f18225a36673fba022fb93514bb9a2a64e" + digest = "1:c1a04665f9613e082e1209cf288bf64f4068dcd6c87a64bf1c4ff006ad422ba0" name = "github.com/prometheus/client_golang" packages = [ "prometheus", @@ -273,7 +273,7 @@ [[projects]] branch = "master" - digest = "1:0f37e09b3e92aaeda5991581311f8dbf38944b36a3edec61cc2d1991f527554a" + digest = "1:2d5cd61daa5565187e1d96bae64dbbc6080dacf741448e9629c64fd93203b0d4" name = "github.com/prometheus/client_model" packages = ["go"] pruneopts = "UT" @@ -281,7 +281,7 @@ [[projects]] branch = "master" - digest = "1:dad2e5a2153ee7a6c9ab8fc13673a16ee4fb64434a7da980965a3741b0c981a3" + digest = "1:63b68062b8968092eb86bedc4e68894bd096ea6b24920faca8b9dcf451f54bb5" name = "github.com/prometheus/common" packages = [ "expfmt", @@ -293,7 +293,7 @@ [[projects]] branch = "master" - digest = "1:a37c98f4b7a66bb5c539c0539f0915a74ef1c8e0b3b6f45735289d94cae92bfd" + digest = "1:8c49953a1414305f2ff5465147ee576dd705487c35b15918fcd4efdc0cb7a290" name = "github.com/prometheus/procfs" packages = [ ".", @@ -320,7 +320,7 @@ revision = "e2704e165165ec55d062f5919b4b29494e9fa790" [[projects]] - digest = "1:37ace7f35375adec11634126944bdc45a673415e2fcc07382d03b75ec76ea94c" + digest = "1:bd1ae00087d17c5a748660b8e89e1043e1e5479d0fea743352cda2f8dd8c4f84" name = "github.com/spf13/afero" packages = [ ".", @@ -339,7 +339,7 @@ version = "v1.2.0" [[projects]] - digest = "1:627ab2f549a6a55c44f46fa24a4307f4d0da81bfc7934ed0473bf38b24051d26" + digest = "1:7ffc0983035bc7e297da3688d9fe19d60a420e9c38bef23f845c53788ed6a05e" name = "github.com/spf13/cobra" packages = ["."] pruneopts = "UT" @@ -371,7 +371,7 @@ version = "v1.0.0" [[projects]] - digest = "1:73697231b93fb74a73ebd8384b68b9a60c57ea6b13c56d2425414566a72c8e6d" + digest = "1:7e8d267900c7fa7f35129a2a37596e38ed0f11ca746d6d9ba727980ee138f9f6" name = "github.com/stretchr/testify" packages = [ "assert", @@ -383,7 +383,7 @@ [[projects]] branch = "master" - digest = "1:442d2ffa75ffae302ce8800bf4144696b92bef02917923ea132ce2d39efe7d65" + digest = "1:f2ffd421680b0a3f7887501b3c6974bcf19217ecd301d0e2c9b681940ec363d5" name = "github.com/syndtr/goleveldb" packages = [ "leveldb", @@ -404,7 +404,7 @@ [[projects]] branch = "master" - digest = "1:203b409c21115233a576f99e8f13d8e07ad82b25500491f7e1cca12588fb3232" + digest = "1:087aaa7920e5d0bf79586feb57ce01c35c830396ab4392798112e8aae8c47722" name = "github.com/tendermint/ed25519" packages = [ ".", @@ -431,7 +431,7 @@ version = "v0.11.0" [[projects]] - digest = "1:963f6c04345ce36f900c1d6367200eebc3cc2db6ee632ff865ea8dcf64b748a0" + digest = "1:4f15e95fe3888cc75dd34f407d6394cbc7fd3ff24920851b92b295f6a8b556e6" name = "github.com/tendermint/tendermint" packages = [ "abci/client", @@ -498,7 +498,7 @@ version = "v0.23.1-rc0" [[projects]] - digest = "1:ad879bb8c71020a3f92f0c61f414d93eae1d5dc2f37023b6abaa3cc84b00165e" + digest = "1:bf6d9a827ea3cad964c2f863302e4f6823170d0b5ed16f72cf1184a7c615067e" name = "github.com/tendermint/tmlibs" packages = ["cli"] pruneopts = "UT" @@ -515,7 +515,7 @@ [[projects]] branch = "master" - digest = "1:2a3ce1f08dcae8bac666deb6e4c88b5d7170c510da38fd746231144cac351704" + digest = "1:27507554c6d4f060d8d700c31c624a43d3a92baa634e178ddc044bdf7d13b44a" name = "golang.org/x/crypto" packages = [ "blowfish", @@ -537,7 +537,7 @@ revision = "614d502a4dac94afa3a6ce146bd1736da82514c6" [[projects]] - digest = "1:04dda8391c3e2397daf254ac68003f30141c069b228d06baec8324a5f81dc1e9" + digest = "1:d36f55a999540d29b6ea3c2ea29d71c76b1d9853fdcd3e5c5cb4836f2ba118f1" name = "golang.org/x/net" packages = [ "context", @@ -554,7 +554,7 @@ [[projects]] branch = "master" - digest = "1:9d9e5fc87553258c36ee18d38023587edd61e4b2521f4473da34b47a83a492e5" + digest = "1:ead82e3e398388679f3ad77633a087ac31a47a6be59ae20841e1d1b3a3fbbd22" name = "golang.org/x/sys" packages = [ "cpu", @@ -564,7 +564,7 @@ revision = "4ea2f632f6e912459fe60b26b1749377f0d889d5" [[projects]] - digest = "1:7509ba4347d1f8de6ae9be8818b0cd1abc3deeffe28aeaf4be6d4b6b5178d9ca" + digest = "1:a2ab62866c75542dd18d2b069fec854577a20211d7c0ea6ae746072a1dccdd18" name = "golang.org/x/text" packages = [ "collate", @@ -595,7 +595,7 @@ revision = "c66870c02cf823ceb633bcd05be3c7cda29976f4" [[projects]] - digest = "1:4515e3030c440845b046354fd5d57671238428b820deebce2e9dabb5cd3c51ac" + digest = "1:2dab32a43451e320e49608ff4542fdfc653c95dcc35d0065ec9c6c3dd540ed74" name = "google.golang.org/grpc" packages = [ ".", diff --git a/client/keys/root.go b/client/keys/root.go index dc149f058..1533bd49c 100644 --- a/client/keys/root.go +++ b/client/keys/root.go @@ -22,7 +22,6 @@ func Commands() *cobra.Command { addKeyCommand(), listKeysCmd, showKeysCmd(), - signCommand(), client.LineBreak, deleteKeyCommand(), updateKeyCommand(), @@ -35,7 +34,6 @@ func RegisterRoutes(r *mux.Router) { r.HandleFunc("/keys", QueryKeysRequestHandler).Methods("GET") r.HandleFunc("/keys", AddNewKeyRequestHandler).Methods("POST") r.HandleFunc("/keys/{name}/recover", RecoverKeyRequestHandler).Methods("POST") - r.HandleFunc("/keys/{name}/sign", SignResuest).Methods("POST") r.HandleFunc("/keys/{name}", GetKeyRequestHandler).Methods("GET") r.HandleFunc("/keys/{name}", UpdateKeyRequestHandler).Methods("PUT") r.HandleFunc("/keys/{name}", DeleteKeyRequestHandler).Methods("DELETE") diff --git a/client/keys/sign.go b/client/keys/sign.go deleted file mode 100644 index b8b52a303..000000000 --- a/client/keys/sign.go +++ /dev/null @@ -1,98 +0,0 @@ -package keys - -import ( - "encoding/base64" - "fmt" - "github.com/gorilla/mux" - "github.com/spf13/cobra" - "github.com/spf13/viper" - "io/ioutil" - "net/http" -) - -const ( - flagFrom = "from" - flagPassword = "password" - flagTx = "tx" -) - -func signCommand() *cobra.Command { - cmd := &cobra.Command{ - Use: "sign", - Short: "Sign user specified data", - Long: `Sign user data with specified key and password`, - RunE: runSignCmd, - } - cmd.Flags().String(flagFrom, "", "Name of private key with which to sign") - cmd.Flags().String(flagPassword, "", "Password of private key") - cmd.Flags().String(flagTx, "", "Base64 encoded tx data for sign") - return cmd -} - -func runSignCmd(cmd *cobra.Command, args []string) error { - name := viper.GetString(flagFrom) - password := viper.GetString(flagPassword) - tx := viper.GetString(flagTx) - - decodedTx, err := base64.StdEncoding.DecodeString(tx) - if err != nil { - return err - } - - kb, err := GetKeyBase() - if err != nil { - return err - } - - sig, _, err := kb.Sign(name, password, decodedTx) - if err != nil { - return err - } - encoded := base64.StdEncoding.EncodeToString(sig) - fmt.Println(string(encoded)) - return nil -} - -type keySignBody struct { - Tx []byte `json:"tx_bytes"` - Password string `json:"password"` -} - -// SignResuest is the handler of creating seed in swagger rest server -func SignResuest(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - name := vars["name"] - var m keySignBody - - body, err := ioutil.ReadAll(r.Body) - if err != nil { - w.WriteHeader(http.StatusBadRequest) - w.Write([]byte(err.Error())) - return - } - - err = cdc.UnmarshalJSON(body, &m) - if err != nil { - w.WriteHeader(http.StatusBadRequest) - w.Write([]byte(err.Error())) - return - } - - kb, err := GetKeyBase() - if err != nil { - w.WriteHeader(http.StatusInternalServerError) - w.Write([]byte(err.Error())) - return - } - - sig, _, err := kb.Sign(name, m.Password, m.Tx) - if err != nil { - w.WriteHeader(http.StatusBadRequest) - w.Write([]byte(err.Error())) - return - } - - encoded := base64.StdEncoding.EncodeToString(sig) - - w.Write([]byte(encoded)) -} diff --git a/client/lcd/lcd_test.go b/client/lcd/lcd_test.go index 55a284fe5..bb0e91f2d 100644 --- a/client/lcd/lcd_test.go +++ b/client/lcd/lcd_test.go @@ -238,7 +238,7 @@ func TestCoinSend(t *testing.T) { someFakeAddr := sdk.AccAddress(bz) // query empty - res, body := Request(t, port, "GET", fmt.Sprintf("/auth/accounts/%s", someFakeAddr), nil) + res, body := Request(t, port, "GET", fmt.Sprintf("/accounts/%s", someFakeAddr), nil) require.Equal(t, http.StatusNoContent, res.StatusCode, body) acc := getAccount(t, port, addr) @@ -368,7 +368,8 @@ func TestCoinSendGenerateSignAndBroadcast(t *testing.T) { // broadcast tx broadcastPayload := struct { Tx auth.StdTx `json:"tx"` - }{Tx: signedMsg} + Return string `json:"return"` + }{Tx: signedMsg, Return: "block"} json, err = cdc.MarshalJSON(broadcastPayload) require.Nil(t, err) res, body = Request(t, port, "POST", "/tx/broadcast", json) @@ -794,7 +795,7 @@ func TestProposalsQuery(t *testing.T) { //_____________________________________________________________________________ // get the account to get the sequence func getAccount(t *testing.T, port string, addr sdk.AccAddress) auth.Account { - res, body := Request(t, port, "GET", fmt.Sprintf("/auth/accounts/%s", addr), nil) + res, body := Request(t, port, "GET", fmt.Sprintf("/accounts/%s", addr), nil) require.Equal(t, http.StatusOK, res.StatusCode, body) var acc auth.Account err := cdc.UnmarshalJSON([]byte(body), &acc) @@ -842,7 +843,7 @@ func doSendWithGas(t *testing.T, port, seed, name, password string, addr sdk.Acc "chain_id":"%s" }`, gasStr, gasAdjustmentStr, name, password, accnum, sequence, coinbz, chainID)) - res, body = Request(t, port, "POST", fmt.Sprintf("/bank/%s/transfers%v", receiveAddr, queryStr), jsonStr) + res, body = Request(t, port, "POST", fmt.Sprintf("/accounts/%s/send%v", receiveAddr, queryStr), jsonStr) return } diff --git a/client/lcd/root.go b/client/lcd/root.go index 7c874b99c..0c29a6bed 100644 --- a/client/lcd/root.go +++ b/client/lcd/root.go @@ -165,7 +165,6 @@ func createLiteHandler(cdc *wire.Codec) *mux.Router { r.HandleFunc("/version", CLIVersionRequestHandler).Methods("GET") r.HandleFunc("/node_version", NodeVersionRequestHandler(cliCtx)).Methods("GET") - tx.RegisterLiteRoutes(cliCtx, r, cdc) bank.RegisterLiteRoutes(cliCtx, r, cdc, kb) return r diff --git a/client/tx/broadcast.go b/client/tx/broadcast.go index cce7ef353..89ad48f43 100644 --- a/client/tx/broadcast.go +++ b/client/tx/broadcast.go @@ -1,90 +1,37 @@ package tx import ( + "encoding/json" "net/http" "github.com/cosmos/cosmos-sdk/client/context" - "github.com/cosmos/cosmos-sdk/wire" - "io/ioutil" -) - -const ( - flagSync = "sync" - flagAsync = "async" - flagBlock = "block" ) // Tx Broadcast Body -// BroadcastBody contains the data of tx and specify how to broadcast tx -type BroadcastBody struct { - Transaction string `json:"transaction"` - Return string `json:"return"` +type BroadcastTxBody struct { + TxBytes string `json:"tx"` } -// BroadcastTxRequestHandlerFn REST Handler -// nolint: gocyclo -func BroadcastTxRequestHandlerFn(cdc *wire.Codec, ctx context.CLIContext) http.HandlerFunc { +// BroadcastTx REST Handler +func BroadcastTxRequestHandlerFn(cliCtx context.CLIContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { - var txBody BroadcastBody - body, err := ioutil.ReadAll(r.Body) + var m BroadcastTxBody + + decoder := json.NewDecoder(r.Body) + err := decoder.Decode(&m) if err != nil { - w.WriteHeader(http.StatusBadRequest) + w.WriteHeader(400) w.Write([]byte(err.Error())) return } - err = cdc.UnmarshalJSON(body, &txBody) + + res, err := cliCtx.BroadcastTx([]byte(m.TxBytes)) if err != nil { - w.WriteHeader(http.StatusBadRequest) + w.WriteHeader(500) w.Write([]byte(err.Error())) return } - var output []byte - switch txBody.Return { - case flagBlock: - res, err := ctx.BroadcastTx([]byte(txBody.Transaction)) - if err != nil { - w.WriteHeader(http.StatusInternalServerError) - w.Write([]byte(err.Error())) - return - } - output, err = cdc.MarshalJSON(res) - if err != nil { - w.WriteHeader(http.StatusInternalServerError) - w.Write([]byte(err.Error())) - return - } - case flagSync: - res, err := ctx.BroadcastTxSync([]byte(txBody.Transaction)) - if err != nil { - w.WriteHeader(http.StatusInternalServerError) - w.Write([]byte(err.Error())) - return - } - output, err = cdc.MarshalJSON(res) - if err != nil { - w.WriteHeader(http.StatusInternalServerError) - w.Write([]byte(err.Error())) - return - } - case flagAsync: - res, err := ctx.BroadcastTxAsync([]byte(txBody.Transaction)) - if err != nil { - w.WriteHeader(http.StatusInternalServerError) - w.Write([]byte(err.Error())) - return - } - output, err = cdc.MarshalJSON(res) - if err != nil { - w.WriteHeader(http.StatusInternalServerError) - w.Write([]byte(err.Error())) - return - } - default: - w.WriteHeader(http.StatusInternalServerError) - w.Write([]byte("unsupported return type. supported types: block, sync, async")) - return - } - w.WriteHeader(http.StatusOK) - w.Write(output) + + w.Write([]byte(string(res.Height))) } } diff --git a/client/tx/root.go b/client/tx/root.go index 915524ce9..7e18d5aae 100644 --- a/client/tx/root.go +++ b/client/tx/root.go @@ -23,8 +23,3 @@ func RegisterRoutes(cliCtx context.CLIContext, r *mux.Router, cdc *wire.Codec) { // r.HandleFunc("/txs/sign", SignTxRequstHandler).Methods("POST") // r.HandleFunc("/txs/broadcast", BroadcastTxRequestHandler).Methods("POST") } - -// RegisterLiteRoutes registers REST routes to gaia-lite -func RegisterLiteRoutes(cliCtx context.CLIContext, r *mux.Router, cdc *wire.Codec) { - r.HandleFunc("/txs", BroadcastTxRequestHandlerFn(cdc, cliCtx)).Methods("POST") -} diff --git a/x/auth/client/rest/query.go b/x/auth/client/rest/query.go index c170d232c..9e5fc88b5 100644 --- a/x/auth/client/rest/query.go +++ b/x/auth/client/rest/query.go @@ -17,7 +17,7 @@ import ( // register REST routes func RegisterRoutes(cliCtx context.CLIContext, r *mux.Router, cdc *wire.Codec, storeName string) { r.HandleFunc( - "/auth/accounts/{address}", + "/accounts/{address}", QueryAccountRequestHandlerFn(storeName, cdc, authcmd.GetAccountDecoder(cdc), cliCtx), ).Methods("GET") r.HandleFunc( diff --git a/x/bank/client/rest/broadcast.go b/x/bank/client/rest/broadcast.go index 5124b791b..87bc7c9c6 100644 --- a/x/bank/client/rest/broadcast.go +++ b/x/bank/client/rest/broadcast.go @@ -10,8 +10,16 @@ import ( "github.com/cosmos/cosmos-sdk/x/auth" ) +const ( + flagSync = "sync" + flagAsync = "async" + flagBlock = "block" +) + + type broadcastBody struct { Tx auth.StdTx `json:"tx"` + Return string `json:"return"` } // BroadcastTxRequestHandlerFn returns the broadcast tx REST handler @@ -27,13 +35,33 @@ func BroadcastTxRequestHandlerFn(cdc *wire.Codec, cliCtx context.CLIContext) htt utils.WriteErrorResponse(w, http.StatusInternalServerError, err.Error()) return } - res, err := cliCtx.BroadcastTx(txBytes) - if err != nil { - utils.WriteErrorResponse(w, http.StatusInternalServerError, err.Error()) + var output []byte + var res interface{} + switch m.Return { + case flagBlock: + res, err = cliCtx.BroadcastTx(txBytes) + if err != nil { + utils.WriteErrorResponse(w, http.StatusInternalServerError, err.Error()) + return + } + case flagSync: + res, err = cliCtx.BroadcastTxSync(txBytes) + if err != nil { + utils.WriteErrorResponse(w, http.StatusInternalServerError, err.Error()) + return + } + case flagAsync: + res, err = cliCtx.BroadcastTxAsync(txBytes) + if err != nil { + utils.WriteErrorResponse(w, http.StatusInternalServerError, err.Error()) + return + } + default: + utils.WriteErrorResponse(w, http.StatusInternalServerError, + "unsupported return type. supported types: block, sync, async") return } - - output, err := wire.MarshalJSONIndent(cdc, res) + output, err = cdc.MarshalJSON(res) if err != nil { utils.WriteErrorResponse(w, http.StatusInternalServerError, err.Error()) return diff --git a/x/bank/client/rest/query.go b/x/bank/client/rest/query.go index 8ce89b919..6de78707c 100644 --- a/x/bank/client/rest/query.go +++ b/x/bank/client/rest/query.go @@ -9,20 +9,10 @@ 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/gorilla/mux" ) -// register REST routes -func registerQueryRoutes(cliCtx context.CLIContext, r *mux.Router, cdc *wire.Codec, storeName string) { - r.HandleFunc( - "/bank/balances/{address}", - QueryBalancesRequestHandlerFn(storeName, cdc, authcmd.GetAccountDecoder(cdc), cliCtx), - ).Methods("GET") -} - -// query balances Handler +// QueryBalancesRequestHandlerFn query balances Handler func QueryBalancesRequestHandlerFn( storeName string, cdc *wire.Codec, decoder auth.AccountDecoder, cliCtx context.CLIContext, diff --git a/x/bank/client/rest/rest.go b/x/bank/client/rest/rest.go index f07db7ea3..a15bcc706 100644 --- a/x/bank/client/rest/rest.go +++ b/x/bank/client/rest/rest.go @@ -5,15 +5,20 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keys" "github.com/cosmos/cosmos-sdk/wire" "github.com/gorilla/mux" + authcmd "github.com/cosmos/cosmos-sdk/x/auth/client/cli" ) // RegisterRoutes registers bank-related REST handlers to a router func RegisterRoutes(cliCtx context.CLIContext, r *mux.Router, cdc *wire.Codec, kb keys.Keybase) { - registerSendTxRoutes(cliCtx, r, cdc, kb) + r.HandleFunc("/accounts/{address}/send", SendRequestHandlerFn(cdc, kb, cliCtx)).Methods("POST") + r.HandleFunc("/tx/broadcast", BroadcastTxRequestHandlerFn(cdc, cliCtx)).Methods("POST") } // RegisterLiteRoutes registers bank REST handlers to gaia-lite func RegisterLiteRoutes(cliCtx context.CLIContext, r *mux.Router, cdc *wire.Codec, kb keys.Keybase) { - registerQueryRoutes(cliCtx, r, cdc, "acc") - registerSendTxRoutes(cliCtx, r, cdc, kb) + r.HandleFunc("/bank/{address}/transfers", SendRequestHandlerFn(cdc, kb, cliCtx)).Methods("POST") + r.HandleFunc("/tx/broadcast", BroadcastTxRequestHandlerFn(cdc, cliCtx)).Methods("POST") + r.HandleFunc("/bank/balances/{address}", + QueryBalancesRequestHandlerFn("acc", cdc, authcmd.GetAccountDecoder(cdc), cliCtx), + ).Methods("GET") } diff --git a/x/bank/client/rest/sendtx.go b/x/bank/client/rest/sendtx.go index 82fa06028..19d4c6382 100644 --- a/x/bank/client/rest/sendtx.go +++ b/x/bank/client/rest/sendtx.go @@ -17,16 +17,6 @@ import ( "github.com/gorilla/mux" ) -// registerSendTxRoutes - Central function to define routes that get registered by the main application -func registerSendTxRoutes(cliCtx context.CLIContext, r *mux.Router, cdc *wire.Codec, kb keys.Keybase) { - r.HandleFunc("/bank/{address}/transfers", SendRequestHandlerFn(cdc, kb, cliCtx)).Methods("POST") -} - -func RegisterRoutes(cliCtx context.CLIContext, r *mux.Router, cdc *wire.Codec, kb keys.Keybase) { - r.HandleFunc("/accounts/{address}/send", SendRequestHandlerFn(cdc, kb, cliCtx)).Methods("POST") - r.HandleFunc("/tx/broadcast", BroadcastTxRequestHandlerFn(cdc, cliCtx)).Methods("POST") -} - type sendBody struct { // fees is not used currently // Fees sdk.Coin `json="fees"`