X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=api%2Fquery.go;h=83154b3449b6213f01ae1913b5a510147e394e5c;hb=a90dec8374cf631074c72ed9f40a6aa97296aad0;hp=11a4eff53cb0368af5ba99866a5b9d125baef140;hpb=56a4447efa52ce734b8d07a926d000c8f1265304;p=bytom%2Fbytom.git diff --git a/api/query.go b/api/query.go index 11a4eff5..83154b34 100644 --- a/api/query.go +++ b/api/query.go @@ -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]