Compute values of internal transactions in balance history
This commit is contained in:
parent
fed5fb3dac
commit
4b3c821629
@ -1465,6 +1465,35 @@ func (w *Worker) balanceHistoryForTxid(addrDesc bchain.AddressDescriptor, txid s
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// process internal transactions
|
||||||
|
if eth.ProcessInternalTransactions {
|
||||||
|
internalData, err := w.db.GetEthereumInternalData(txid)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if internalData != nil {
|
||||||
|
for i := range internalData.Transfers {
|
||||||
|
f := &internalData.Transfers[i]
|
||||||
|
txAddrDesc, err := w.chainParser.GetAddrDescFromAddress(f.From)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if bytes.Equal(addrDesc, txAddrDesc) {
|
||||||
|
(*big.Int)(bh.SentSat).Add((*big.Int)(bh.SentSat), &f.Value)
|
||||||
|
if f.From == f.To {
|
||||||
|
(*big.Int)(bh.SentToSelfSat).Add((*big.Int)(bh.SentToSelfSat), &f.Value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
txAddrDesc, err = w.chainParser.GetAddrDescFromAddress(f.To)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if bytes.Equal(addrDesc, txAddrDesc) {
|
||||||
|
(*big.Int)(bh.ReceivedSat).Add((*big.Int)(bh.ReceivedSat), &f.Value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for i := range bchainTx.Vin {
|
for i := range bchainTx.Vin {
|
||||||
bchainVin := &bchainTx.Vin[i]
|
bchainVin := &bchainTx.Vin[i]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user