本文整理汇总了Golang中github.com/skycoin/skycoin-exchange/src/pp.MakeErrRes函数的典型用法代码示例。如果您正苦于以下问题:Golang MakeErrRes函数的具体用法?Golang MakeErrRes怎么用?Golang MakeErrRes使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MakeErrRes函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: CreateOrder
// CreateOrder create order through exchange server.
// mode: POST
// url: /api/v1/account/order?coin_pair=[:coin_pair]&type=[:type]&price=[:price]&amt=[:amt]
// params:
// coin_pair: order coin pair.
// type: order type, can be bid or ask.
// price: price.
// amt: amount.
func CreateOrder(se Servicer) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
rlt := &pp.EmptyRes{}
for {
req, err := makeOrderReq(r)
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
a, err := account.GetActive()
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
req.Pubkey = pp.PtrString(a.Pubkey)
var res pp.OrderRes
if err := sknet.EncryGet(se.GetServAddr(), "/create/order", req, &res); err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_ServerError)
break
}
sendJSON(w, res)
return
}
sendJSON(w, rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:40,代码来源:order.go
示例2: GetUtxos
// GetUtxos get unspent output of specific address.
func GetUtxos(egn engine.Exchange) sknet.HandlerFunc {
return func(c *sknet.Context) error {
var req pp.GetUtxoReq
var rlt *pp.EmptyRes
for {
if err := c.BindJSON(&req); err != nil {
rlt = pp.MakeErrResWithCode(pp.ErrCode_WrongRequest)
logger.Error(err.Error())
break
}
coin, err := egn.GetCoin(req.GetCoinType())
if err != nil {
rlt = pp.MakeErrRes(err)
logger.Error(err.Error())
break
}
res, err := coin.GetUtxos(req.GetAddresses())
if err != nil {
rlt = pp.MakeErrRes(err)
logger.Error(err.Error())
break
}
return c.SendJSON(&res)
}
return c.Error(rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:31,代码来源:utxos.go
示例3: GetAddrBalance
// GetAddrBalance get balance of specific address.
func GetAddrBalance(ee engine.Exchange) sknet.HandlerFunc {
return func(c *sknet.Context) error {
var rlt *pp.EmptyRes
for {
req := pp.GetAddrBalanceReq{}
if err := c.BindJSON(&req); err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_WrongRequest)
break
}
coin, err := ee.GetCoin(req.GetCoinType())
if err != nil {
rlt = pp.MakeErrRes(err)
logger.Error(err.Error())
break
}
addrs := strings.Split(req.GetAddrs(), ",")
b, err := coin.GetBalance(addrs)
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
res := pp.GetAddrBalanceRes{
Result: pp.MakeResultWithCode(pp.ErrCode_Success),
Balance: &b,
}
return c.SendJSON(&res)
}
return c.Error(rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:36,代码来源:balance.go
示例4: GetRawTx
// GetRawTx get raw tx by txid.
// mode: GET
// url: /api/v1/rawtx?coin_type=[:coin_type]&txid=[:txid]
func GetRawTx(se Servicer) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
var rlt *pp.EmptyRes
for {
// get coin type
cp := r.FormValue("coin_type")
if cp == "" {
logger.Error("no coin type")
rlt = pp.MakeErrRes(errors.New("no coin type"))
break
}
// get txid
txid := r.FormValue("txid")
if txid == "" {
logger.Error("no txid")
rlt = pp.MakeErrRes(errors.New("no txid"))
break
}
req := pp.GetRawTxReq{
CoinType: pp.PtrString(cp),
Txid: pp.PtrString(txid),
}
var res pp.GetRawTxRes
if err := sknet.EncryGet(se.GetServAddr(), "/get/rawtx", req, &res); err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_ServerError)
break
}
sendJSON(w, res)
return
}
sendJSON(w, rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:38,代码来源:txn.go
示例5: btcWithdraw
func btcWithdraw(rp *ReqParams) (*pp.WithdrawalRes, *pp.EmptyRes) {
ee := rp.Values["engine"].(engine.Exchange)
acnt := rp.Values["account"].(account.Accounter)
amt := rp.Values["amt"].(uint64)
ct := rp.Values["cointype"].(string)
toAddr := rp.Values["toAddr"].(string)
// verify the toAddr
if _, err := cipher.BitcoinDecodeBase58Address(toAddr); err != nil {
return nil, pp.MakeErrRes(errors.New("invalid bitcoin address"))
}
var success bool
var btcTxRlt *BtcTxResult
var err error
// decrease balance and check if the balance is sufficient.
if err := acnt.DecreaseBalance(ct, amt+ee.GetBtcFee()); err != nil {
return nil, pp.MakeErrRes(err)
}
defer func() {
if !success {
go func() {
if btcTxRlt != nil {
ee.PutUtxos(bitcoin.Type, btcTxRlt.UsingUtxos)
}
acnt.IncreaseBalance(ct, amt+ee.GetBtcFee())
}()
} else {
//TODO: handle the saving failure.
ee.SaveAccount()
}
}()
btcTxRlt, err = createBtcWithdrawTx(ee, amt, toAddr)
if err != nil {
return nil, pp.MakeErrRes(errors.New("failed to create withdrawal tx"))
}
rawtx, err := btcTxRlt.Tx.Serialize()
if err != nil {
return nil, pp.MakeErrRes(errors.New("tx serialize failed"))
}
newTxid, err := bitcoin.BroadcastTx(hex.EncodeToString(rawtx))
if err != nil {
logger.Error(err.Error())
return nil, pp.MakeErrResWithCode(pp.ErrCode_BroadcastTxFail)
}
success = true
if btcTxRlt.ChangeAddr != "" {
logger.Debug("change address:%s", btcTxRlt.ChangeAddr)
ee.WatchAddress(ct, btcTxRlt.ChangeAddr)
}
resp := pp.WithdrawalRes{
Result: pp.MakeResultWithCode(pp.ErrCode_Success),
NewTxid: &newTxid,
}
return &resp, nil
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:59,代码来源:withdrawal.go
示例6: Withdraw
// Withdraw transaction.
func Withdraw(se Servicer) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
rlt := &pp.EmptyRes{}
for {
a, err := account.GetActive()
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
cp := r.FormValue("coin_type")
if cp == "" {
err := errors.New("coin_type empty")
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
amount := r.FormValue("amount")
if amount == "" {
rlt = pp.MakeErrRes(errors.New("amount empty"))
break
}
toAddr := r.FormValue("toaddr")
if toAddr == "" {
rlt = pp.MakeErrRes(errors.New("toaddr empty"))
break
}
amt, err := strconv.ParseUint(amount, 10, 64)
if err != nil {
rlt = pp.MakeErrRes(err)
break
}
req := pp.WithdrawalReq{
Pubkey: &a.Pubkey,
CoinType: &cp,
Coins: &amt,
OutputAddress: &toAddr,
}
var res pp.WithdrawalRes
if err := sknet.EncryGet(se.GetServAddr(), "/withdrawl", req, &res); err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_ServerError)
break
}
sendJSON(w, res)
return
}
sendJSON(w, rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:57,代码来源:withdraw.go
示例7: GetWalletBalance
// GetWalletBalance get local wallet balance.
// mode: GET
// url: /api/v1/wallet/balance?id=[:id]
// params:
// id: wallet id.
func GetWalletBalance(se Servicer) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
var rlt *pp.EmptyRes
for {
id := r.FormValue("id")
if id == "" {
err := errors.New("id is empty")
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
// get addresses in wallet.
addrs, err := wallet.GetAddresses(id)
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
if len(addrs) == 0 {
res := pp.GetAddrBalanceRes{
Result: pp.MakeResult(pp.ErrCode_NotExits, "wallet have no address"),
}
sendJSON(w, &res)
return
}
cp := strings.Split(id, "_")[0]
// get address balance.
req := pp.GetAddrBalanceReq{
CoinType: pp.PtrString(cp),
Addrs: pp.PtrString(strings.Join(addrs, ",")),
}
var res pp.GetAddrBalanceRes
if err := sknet.EncryGet(se.GetServAddr(), "/get/address/balance", req, &res); err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_ServerError)
break
}
sendJSON(w, res)
return
}
sendJSON(w, rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:53,代码来源:wallet.go
示例8: GetCoins
// GetCoins get supported coins from exchange server.
func GetCoins(se Servicer) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
rlt := &pp.EmptyRes{}
for {
a, err := account.GetActive()
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
req := pp.GetCoinsReq{
Pubkey: pp.PtrString(a.Pubkey),
}
var res pp.CoinsRes
if err := sknet.EncryGet(se.GetServAddr(), "/get/coins", req, &res); err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_ServerError)
break
}
sendJSON(w, res)
return
}
sendJSON(w, rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:28,代码来源:coin.go
示例9: NewAddress
// NewAddress create address in wallet.
// mode: POST
// url: /api/v1/wallet/:id/address?&id=[:id]
// params:
// id: wallet id.
func NewAddress(se Servicer) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
var rlt *pp.EmptyRes
for {
// get wallet id
wltID := r.FormValue("id")
if wltID == "" {
rlt = pp.MakeErrRes(errors.New("id is required"))
break
}
addrEntries, err := wallet.NewAddresses(wltID, 1)
if err != nil {
rlt = pp.MakeErrResWithCode(pp.ErrCode_ServerError)
break
}
res := struct {
Result *pp.Result
Address string `json:"address"`
}{
Result: pp.MakeResultWithCode(pp.ErrCode_Success),
Address: addrEntries[0].Address,
}
sendJSON(w, &res)
return
}
sendJSON(w, rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:34,代码来源:wallet.go
示例10: GetRawTx
// GetRawTx return rawtx of specifc tx.
func GetRawTx(egn engine.Exchange) sknet.HandlerFunc {
return func(c *sknet.Context) error {
var rlt *pp.EmptyRes
for {
req := pp.GetRawTxReq{}
if err := c.BindJSON(&req); err != nil {
rlt = pp.MakeErrResWithCode(pp.ErrCode_WrongRequest)
break
}
coin, err := egn.GetCoin(req.GetCoinType())
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
rawtx, err := coin.GetRawTx(req.GetTxid())
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_WrongRequest)
break
}
res := pp.GetRawTxRes{
Result: pp.MakeResultWithCode(pp.ErrCode_Success),
CoinType: req.CoinType,
Rawtx: pp.PtrString(rawtx),
}
return c.SendJSON(&res)
}
return c.Error(rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:34,代码来源:transaction.go
示例11: GetAddresses
// GetAddresses get all addresses in wallet.
// mode: GET
// url: /api/v1/wallet/addresses?id=[:id]
// params:
// id: wallet id.
func GetAddresses(se Servicer) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
var rlt *pp.EmptyRes
for {
id := r.FormValue("id")
if id == "" {
rlt = pp.MakeErrRes(errors.New("id is required"))
break
}
addrs, err := wallet.GetAddresses(id)
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_WrongRequest)
break
}
res := struct {
Result *pp.Result `json:"result"`
Addresses []string `json:"addresses"`
}{
Result: pp.MakeResultWithCode(pp.ErrCode_Success),
Addresses: addrs,
}
sendJSON(w, &res)
return
}
sendJSON(w, rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:35,代码来源:wallet.go
示例12: CreateWallet
// CreateWallet api for creating local wallet.
// mode: POST
// url: /api/v1/wallet?type=[:type]&seed=[:seed]
// params:
// type: bitcoin or skycoin
// seed: wallet seed.
func CreateWallet(se Servicer) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
rlt := &pp.EmptyRes{}
for {
// get coin type
cp := r.FormValue("type")
// get seed
sd := r.FormValue("seed")
if sd == "" {
rlt = pp.MakeErrRes(errors.New("seed is required"))
break
}
wlt, err := wallet.New(cp, sd)
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_ServerError)
break
}
// bind the wallet to current account.
a, err := account.GetActive()
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
a.WltIDs[cp] = wlt.GetID()
// update the account.
account.Set(a)
res := struct {
Result *pp.Result `json:"result"`
ID string `json:"id"`
}{
Result: pp.MakeResultWithCode(pp.ErrCode_Success),
ID: wlt.GetID(),
}
sendJSON(w, &res)
return
}
sendJSON(w, rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:52,代码来源:wallet.go
示例13: Authorize
// Authorize will decrypt the request, and it's a buildin middleware for skynet.
func Authorize(servSeckey string) HandlerFunc {
return func(c *Context) error {
var (
req pp.EncryptReq
rlt *pp.EmptyRes
)
c.ServSeckey = servSeckey
for {
if c.UnmarshalReq(&req) == nil {
// validate pubkey.
if err := validatePubkey(req.GetPubkey()); err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_WrongPubkey)
break
}
pubkey, err := cipher.PubKeyFromHex(req.GetPubkey())
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_WrongPubkey)
break
}
c.Pubkey = pubkey.Hex()
seckey, err := cipher.SecKeyFromHex(servSeckey)
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_ServerError)
break
}
key := cipher.ECDH(pubkey, seckey)
data, err := cipher.Chacha20Decrypt(req.GetEncryptdata(), key, req.GetNonce())
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_UnAuthorized)
break
}
ok, err := regexp.MatchString(`^\{.*\}$`, string(data))
if err != nil || !ok {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_UnAuthorized)
break
}
c.Raw = data
return c.Next()
}
rlt = pp.MakeErrRes(errors.New("bad request"))
break
}
return c.Error(rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:58,代码来源:auth.go
示例14: SignRawTx
// SignRawTx sign transaction.
// mode: POST
// url: /api/v1/signr_awtx?coin_type=[:coin_type]&rawtx=[:rawtx]
// params:
// coin_type: skycoin or bitcoin.
// rawtx: raw transaction.
func SignRawTx(se Servicer) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
var rlt *pp.EmptyRes
for {
// check coin type
cp := r.FormValue("coin_type")
// get raw tx
rawtx := r.FormValue("rawtx")
if rawtx == "" {
err := errors.New("rawtx is empty")
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
coin, err := se.GetCoin(cp)
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
tx, err := coin.SignRawTx(rawtx, getPrivKey(cp))
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
res := struct {
Result *pp.Result `json:"result"`
Rawtx string `json:"rawtx"`
}{
Result: pp.MakeResultWithCode(pp.ErrCode_Success),
Rawtx: tx,
}
sendJSON(w, &res)
return
}
sendJSON(w, rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:48,代码来源:txn.go
示例15: GetTx
// GetTx get transaction by id.
func GetTx(egn engine.Exchange) sknet.HandlerFunc {
return func(c *sknet.Context) error {
var rlt *pp.EmptyRes
for {
req := pp.GetTxReq{}
if err := c.BindJSON(&req); err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_WrongRequest)
break
}
coin, err := egn.GetCoin(req.GetCoinType())
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
// brief validate transaction id
if !coin.ValidateTxid(req.GetTxid()) {
rlt = pp.MakeErrRes(errors.New("invalid transaction id"))
break
}
tx, err := coin.GetTx(req.GetTxid())
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
res := pp.GetTxRes{
Result: pp.MakeResultWithCode(pp.ErrCode_Success),
CoinType: req.CoinType,
Tx: tx,
}
return c.SendJSON(&res)
}
return c.Error(rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:42,代码来源:transaction.go
示例16: process
// process handle the incoming connection, will read request from conn, setup the middle,
// and dispatch the request.
func process(id int, c net.Conn, engine *Engine) {
logger.Debug("[%d] working", id)
r := &Request{}
w := &Response{c: c}
defer func() {
// catch panic
if r := recover(); r != nil {
logger.Critical("%s", r)
debug.PrintStack()
}
c.Close()
logger.Debug("[%d] worker done", id)
}()
var err error
var context Context
for {
r.Reset()
context.Reset()
context.Resp = w
if err = Read(c, r); err != nil {
if err.Error() != "EOF" {
logger.Error("%v", err)
context.Error(pp.MakeErrRes(err))
}
return
}
context.Request = r
// check if the path belongs to group.
hds, find := engine.findGroupHandlers(r.GetPath())
if find {
context.handlers = append(engine.handlers, hds...)
} else {
if h, ok := engine.handlerFunc[r.GetPath()]; ok {
context.handlers = append(engine.handlers, h)
} else {
logger.Error("no handler for path: %s", r.GetPath())
res := pp.MakeErrResWithCode(pp.ErrCode_ServerError)
context.Error(res)
return
}
}
if err := context.handlers[0](&context); err != nil {
logger.Error(err.Error())
return
}
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:55,代码来源:worker.go
示例17: GetUtxos
// GetUtxos get utxos through exchange server.
func GetUtxos(se Servicer) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
var rlt *pp.EmptyRes
for {
cp := r.FormValue("coin_type")
if cp == "" {
logger.Error("coin type empty")
rlt = pp.MakeErrRes(errors.New("coin type empty"))
break
}
addrs := r.FormValue("addrs")
if addrs == "" {
logger.Error("addrs empty")
rlt = pp.MakeErrRes(errors.New("addrs empty"))
break
}
addrArray := strings.Split(addrs, ",")
for i, addr := range addrArray {
addrArray[i] = strings.Trim(addr, " ")
}
req := pp.GetUtxoReq{
CoinType: pp.PtrString(cp),
Addresses: addrArray,
}
var res pp.GetUtxoRes
if err := sknet.EncryGet(se.GetServAddr(), "/get/utxos", req, &res); err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_ServerError)
break
}
sendJSON(w, res)
return
}
sendJSON(w, rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:41,代码来源:utxo.go
示例18: GetKeys
// GetKeys get keys of specific address in wallet.
// mode: GET
// url: /api/v1/wallet/address/keys?id=[:id]&address=[:address]
func GetKeys(se Servicer) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
var rlt *pp.EmptyRes
for {
// get wallet id
wltID := r.FormValue("id")
if wltID == "" {
rlt = pp.MakeErrRes(errors.New("no id"))
break
}
// get address
addr := r.FormValue("address")
if addr == "" {
rlt = pp.MakeErrRes(errors.New("no address"))
break
}
p, s, err := wallet.GetKeypair(wltID, addr)
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_ServerError)
break
}
res := struct {
Result *pp.Result
Pubkey string `json:"pubkey"`
Seckey string `json:"seckey"`
}{
Result: pp.MakeResultWithCode(pp.ErrCode_Success),
Pubkey: p,
Seckey: s,
}
sendJSON(w, &res)
return
}
sendJSON(w, rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:42,代码来源:wallet.go
示例19: InjectTx
// InjectTx broadcast transaction.
// mode: POST
// url: /api/v1/inject_rawtx?rawtx=[:rawtx]&coin_type=[:coin_type]
// params:
// rawtx: raw tx that's going to be injected.
// coin_type: skycoin or bitcoin.
func InjectTx(se Servicer) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
var rlt *pp.EmptyRes
for {
// get tx
rawtx := r.FormValue("rawtx")
if rawtx == "" {
err := errors.New("rawtx is empty")
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
// get coin type
cp := r.FormValue("coin_type")
if cp == "" {
logger.Error("empty coin type")
rlt = pp.MakeErrRes(errors.New("empty coin type"))
break
}
req := pp.InjectTxnReq{
CoinType: pp.PtrString(cp),
Tx: pp.PtrString(rawtx),
}
var res pp.InjectTxnRes
if err := sknet.EncryGet(se.GetServAddr(), "/inject/tx", req, &res); err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_ServerError)
break
}
sendJSON(w, res)
return
}
sendJSON(w, rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:45,代码来源:txn.go
示例20: GetDepositAddress
// GetDepositAddress get deposit address from exchange server.
func GetDepositAddress(se Servicer) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
rlt := &pp.EmptyRes{}
for {
a, err := account.GetActive()
if err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
cp := r.FormValue("coin_type")
if cp == "" {
err := errors.New("coin type empty")
logger.Error(err.Error())
rlt = pp.MakeErrRes(err)
break
}
req := pp.GetDepositAddrReq{
Pubkey: pp.PtrString(a.Pubkey),
CoinType: pp.PtrString(cp),
}
var res pp.GetDepositAddrRes
if err := sknet.EncryGet(se.GetServAddr(), "/create/deposit_address", req, &res); err != nil {
logger.Error(err.Error())
rlt = pp.MakeErrResWithCode(pp.ErrCode_ServerError)
break
}
sendJSON(w, res)
return
}
sendJSON(w, rlt)
}
}
开发者ID:skycoin,项目名称:skycoin-exchange,代码行数:39,代码来源:deposit.go
注:本文中的github.com/skycoin/skycoin-exchange/src/pp.MakeErrRes函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论