OSDN Git Service

Feat(ed25519): replace with crypto/ed25519 (#1907)
[bytom/bytom.git] / api / query.go
index 11a4eff..83154b3 100644 (file)
@@ -2,22 +2,23 @@ package api
 
 import (
        "context"
+       "crypto/ed25519"
        "encoding/hex"
        "fmt"
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/bytom/account"
-       "github.com/bytom/blockchain/query"
-       "github.com/bytom/blockchain/signers"
-       "github.com/bytom/blockchain/txbuilder"
-       "github.com/bytom/consensus"
-       "github.com/bytom/crypto/ed25519"
-       "github.com/bytom/crypto/ed25519/chainkd"
-       chainjson "github.com/bytom/encoding/json"
-       "github.com/bytom/errors"
-       "github.com/bytom/protocol/bc"
-       "github.com/bytom/protocol/bc/types"
+       "github.com/bytom/bytom/account"
+       "github.com/bytom/bytom/asset"
+       "github.com/bytom/bytom/blockchain/query"
+       "github.com/bytom/bytom/blockchain/signers"
+       "github.com/bytom/bytom/blockchain/txbuilder"
+       "github.com/bytom/bytom/consensus"
+       "github.com/bytom/bytom/crypto/ed25519/chainkd"
+       chainjson "github.com/bytom/bytom/encoding/json"
+       "github.com/bytom/bytom/errors"
+       "github.com/bytom/bytom/protocol/bc"
+       "github.com/bytom/bytom/protocol/bc/types"
 )
 
 // POST /list-accounts
@@ -52,13 +53,17 @@ func (a *API) listAccounts(ctx context.Context, filter struct {
 func (a *API) getAsset(ctx context.Context, filter struct {
        ID string `json:"id"`
 }) Response {
-       asset, err := a.wallet.AssetReg.GetAsset(filter.ID)
+       ass, err := a.wallet.AssetReg.GetAsset(filter.ID)
        if err != nil {
                log.Errorf("getAsset: %v", err)
                return NewErrorResponse(err)
        }
 
-       return NewSuccessResponse(asset)
+       annotatedAsset, err := asset.Annotated(ass)
+       if err != nil {
+               return NewErrorResponse(err)
+       }
+       return NewSuccessResponse(annotatedAsset)
 }
 
 // POST /list-assets
@@ -71,7 +76,15 @@ func (a *API) listAssets(ctx context.Context, filter struct {
                return NewErrorResponse(err)
        }
 
-       return NewSuccessResponse(assets)
+       annotatedAssets := []*query.AnnotatedAsset{}
+       for _, ass := range assets {
+               annotatedAsset, err := asset.Annotated(ass)
+               if err != nil {
+                       return NewErrorResponse(err)
+               }
+               annotatedAssets = append(annotatedAssets, annotatedAsset)
+       }
+       return NewSuccessResponse(annotatedAssets)
 }
 
 // POST /list-balances
@@ -131,9 +144,10 @@ func (a *API) listTransactions(ctx context.Context, filter struct {
                transaction, err = a.wallet.GetTransactionByTxID(filter.ID)
                if err != nil && filter.Unconfirmed {
                        transaction, err = a.wallet.GetUnconfirmedTxByTxID(filter.ID)
-                       if err != nil {
-                               return NewErrorResponse(err)
-                       }
+               }
+
+               if err != nil {
+                       return NewErrorResponse(err)
                }
                transactions = []*query.AnnotatedTx{transaction}
        } else {
@@ -175,13 +189,12 @@ func (a *API) getUnconfirmedTx(ctx context.Context, filter struct {
        }
 
        tx := &BlockTx{
-               ID:         txDesc.Tx.ID,
-               Version:    txDesc.Tx.Version,
-               Size:       txDesc.Tx.SerializedSize,
-               TimeRange:  txDesc.Tx.TimeRange,
-               Inputs:     []*query.AnnotatedInput{},
-               Outputs:    []*query.AnnotatedOutput{},
-               StatusFail: txDesc.StatusFail,
+               ID:        txDesc.Tx.ID,
+               Version:   txDesc.Tx.Version,
+               Size:      txDesc.Tx.SerializedSize,
+               TimeRange: txDesc.Tx.TimeRange,
+               Inputs:    []*query.AnnotatedInput{},
+               Outputs:   []*query.AnnotatedOutput{},
        }
 
        resOutID := txDesc.Tx.ResultIds[0]