assetinfo conversions around nil checks

pull/541/head
sidhujag 2020-09-13 09:06:56 -07:00
parent 6887f8de97
commit b09dcc5012
1 changed files with 30 additions and 10 deletions

View File

@ -160,7 +160,9 @@ func (w *Worker) GetTransactionFromBchainTx(bchainTx *bchain.Tx, height int, spe
}
vin.Hex = bchainVin.ScriptSig.Hex
vin.Coinbase = bchainVin.Coinbase
vin.AssetInfo = &AssetInfo{AssetGuid: bchainVin.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(bchainVin.AssetInfo.ValueSat)}
if bchainVin.AssetInfo != nil {
vin.AssetInfo = &AssetInfo{AssetGuid: bchainVin.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(bchainVin.AssetInfo.ValueSat)}
}
if w.chainType == bchain.ChainBitcoinType {
// bchainVin.Txid=="" is coinbase transaction
if bchainVin.Txid != "" {
@ -196,7 +198,9 @@ func (w *Worker) GetTransactionFromBchainTx(bchainTx *bchain.Tx, height int, spe
if err != nil {
glog.Errorf("getAddressesFromVout error %v, vout %+v", err, vout)
}
vin.AssetInfo = &AssetInfo{AssetGuid: vout.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(vout.AssetInfo.ValueSat)}
if vout.AssetInfo != nil {
vin.AssetInfo = &AssetInfo{AssetGuid: vout.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(vout.AssetInfo.ValueSat)}
}
}
} else {
if len(tas.Outputs) > int(vin.Vout) {
@ -207,7 +211,9 @@ func (w *Worker) GetTransactionFromBchainTx(bchainTx *bchain.Tx, height int, spe
if err != nil {
glog.Errorf("output.Addresses error %v, tx %v, output %v", err, bchainVin.Txid, i)
}
vin.AssetInfo = &AssetInfo{AssetGuid: output.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(output.AssetInfo.ValueSat)}
if output.AssetInfo != nil {
vin.AssetInfo = &AssetInfo{AssetGuid: output.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(output.AssetInfo.ValueSat)}
}
}
}
if vin.ValueSat != nil {
@ -255,7 +261,9 @@ func (w *Worker) GetTransactionFromBchainTx(bchainTx *bchain.Tx, height int, spe
vout.N = i
vout.ValueSat = (*bchain.Amount)(&bchainVout.ValueSat)
valOutSat.Add(&valOutSat, &bchainVout.ValueSat)
vout.AssetInfo = &AssetInfo{AssetGuid: bchainVout.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(bchainVout.AssetInfo.ValueSat)}
if bchainVout.AssetInfo != nil {
vout.AssetInfo = &AssetInfo{AssetGuid: bchainVout.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(bchainVout.AssetInfo.ValueSat)}
}
if vout.AssetInfo != nil {
if mapTTS == nil {
mapTTS = map[uint32]*bchain.TokenTransferSummary{}
@ -395,7 +403,9 @@ func (w *Worker) GetTransactionFromMempoolTx(mempoolTx *bchain.MempoolTx) (*Tx,
}
vin.Hex = bchainVin.ScriptSig.Hex
vin.Coinbase = bchainVin.Coinbase
vin.AssetInfo = &AssetInfo{AssetGuid: bchainVin.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(bchainVin.AssetInfo.ValueSat)}
if bchainVin.AssetInfo != nil {
vin.AssetInfo = &AssetInfo{AssetGuid: bchainVin.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(bchainVin.AssetInfo.ValueSat)}
}
if w.chainType == bchain.ChainBitcoinType {
// bchainVin.Txid=="" is coinbase transaction
if bchainVin.Txid != "" {
@ -452,7 +462,9 @@ func (w *Worker) GetTransactionFromMempoolTx(mempoolTx *bchain.MempoolTx) (*Tx,
if err != nil {
glog.V(2).Infof("getAddressesFromVout error %v, %v, output %v", err, mempoolTx.Txid, bchainVout.N)
}
vout.AssetInfo = &AssetInfo{AssetGuid: bchainVout.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(bchainVout.AssetInfo.ValueSat)}
if bchainVout.AssetInfo != nil {
vout.AssetInfo = &AssetInfo{AssetGuid: bchainVout.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(bchainVout.AssetInfo.ValueSat)}
}
if vout.AssetInfo != nil {
if mapTTS == nil {
mapTTS = map[uint32]*bchain.TokenTransferSummary{}
@ -714,7 +726,9 @@ func (w *Worker) txFromTxAddress(txid string, ta *bchain.TxAddresses, bi *bchain
if err != nil {
glog.Errorf("tai.Addresses error %v, tx %v, input %v, tai %+v", err, txid, i, tai)
}
vin.AssetInfo = &AssetInfo{AssetGuid: tai.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(tai.AssetInfo.ValueSat)}
if tai.AssetInfo != nil {
vin.AssetInfo = &AssetInfo{AssetGuid: tai.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(tai.AssetInfo.ValueSat)}
}
if vin.AssetInfo != nil {
if mapTTS == nil {
mapTTS = map[uint32]*bchain.TokenTransferSummary{}
@ -751,7 +765,9 @@ func (w *Worker) txFromTxAddress(txid string, ta *bchain.TxAddresses, bi *bchain
glog.Errorf("tai.Addresses error %v, tx %v, output %v, tao %+v", err, txid, i, tao)
}
vout.Spent = tao.Spent
vout.AssetInfo = &AssetInfo{AssetGuid: tao.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(tao.AssetInfo.ValueSat)}
if tao.AssetInfo != nil {
vout.AssetInfo = &AssetInfo{AssetGuid: tao.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(tao.AssetInfo.ValueSat)}
}
if vout.AssetInfo != nil {
if mapTTS == nil {
mapTTS = map[uint32]*bchain.TokenTransferSummary{}
@ -1673,9 +1689,11 @@ func (w *Worker) getAddrDescUtxo(addrDesc bchain.AddressDescriptor, ba *bchain.A
AmountSat: (*bchain.Amount)(&vout.ValueSat),
Locktime: bchainTx.LockTime,
Coinbase: coinbase,
AssetInfo: &AssetInfo{AssetGuid: vout.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(vout.AssetInfo.ValueSat)},
Script: hex.EncodeToString(script),
}
if vout.AssetInfo != nil {
utxoTmp.AssetInfo = &AssetInfo{AssetGuid: vout.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(vout.AssetInfo.ValueSat)}
}
utxos = append(utxos, utxoTmp)
inMempool[bchainTx.Txid] = struct{}{}
}
@ -1736,9 +1754,11 @@ func (w *Worker) getAddrDescUtxo(addrDesc bchain.AddressDescriptor, ba *bchain.A
Height: int(utxo.Height),
Confirmations: confirmations,
Coinbase: coinbase,
AssetInfo: &AssetInfo{AssetGuid: utxo.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(utxo.AssetInfo.ValueSat)},
Script: hex.EncodeToString(script),
}
if utxo.AssetInfo != nil {
utxoTmp.AssetInfo = &AssetInfo{AssetGuid: utxo.AssetInfo.AssetGuid, ValueSat: (*bchain.Amount)(utxo.AssetInfo.ValueSat)}
}
utxos = append(utxos, utxoTmp)
}
}