core: add proper claim transactions processing
This commit is contained in:
parent
85d0bc4544
commit
394346fc26
1 changed files with 15 additions and 0 deletions
|
@ -431,6 +431,21 @@ func (bc *Blockchain) storeBlock(block *Block) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case *transaction.ClaimTX:
|
case *transaction.ClaimTX:
|
||||||
|
// Remove claimed NEO from spent coins making it unavalaible for
|
||||||
|
// additional claims.
|
||||||
|
for _, input := range t.Claims {
|
||||||
|
scs, err := spentCoins.getAndUpdate(bc.store, input.PrevHash)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if scs.txHash == input.PrevHash {
|
||||||
|
// Existing scs.
|
||||||
|
delete(scs.items, input.PrevIndex)
|
||||||
|
} else {
|
||||||
|
// Uninitialized, new, forget about it.
|
||||||
|
delete(spentCoins, input.PrevHash)
|
||||||
|
}
|
||||||
|
}
|
||||||
case *transaction.EnrollmentTX:
|
case *transaction.EnrollmentTX:
|
||||||
case *transaction.StateTX:
|
case *transaction.StateTX:
|
||||||
case *transaction.PublishTX:
|
case *transaction.PublishTX:
|
||||||
|
|
Loading…
Reference in a new issue