X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=blobdiff_plain;f=wallet%2Findexer.go;h=f3b7d5779d570e245fa5c06d529aec09c3dbaccf;hp=ddf7248d4ded9734cbeec87332f8194263ff8809;hb=6f7fe6fd7442ddcec8ee959c09b6d45639ef045f;hpb=5d1c9664ba4d870ccabfd995766487e99d1cf1b5 diff --git a/wallet/indexer.go b/wallet/indexer.go index ddf7248d..f3b7d577 100644 --- a/wallet/indexer.go +++ b/wallet/indexer.go @@ -9,6 +9,7 @@ import ( log "github.com/sirupsen/logrus" "github.com/vapor/account" + "github.com/vapor/asset" "github.com/vapor/blockchain/query" "github.com/vapor/crypto/sha3pool" dbm "github.com/vapor/database/leveldb" @@ -86,8 +87,13 @@ func saveExternalAssetDefinition(b *types.Block, walletDB dbm.DB) { defer storeBatch.Write() for _, tx := range b.Transactions { - for _, _ = range tx.Inputs { - // handle cross chain input here + for _, orig := range tx.Inputs { + if cci, ok := orig.TypedInput.(*types.CrossChainInput); ok { + assetID := cci.AssetId + if assetExist := walletDB.Get(asset.ExtAssetKey(assetID)); assetExist == nil { + storeBatch.Set(asset.ExtAssetKey(assetID), cci.AssetDefinition) + } + } } } }