core: rename state.NEP17Balances to state.NEP17TransferInfo
Balances are to be removed from state.NEP17TransferInfo, so the remnant fields are NextTransferBatch, NewBatch and a map of LastUpdatedBlocks. These fields are more staff-related. Also rename dao.[Get, Put, put]NEP17Balances and STNEP17Balances preffix. Also rename NEP17TransferInfo.Trackers to LastUpdatedBlockTrackers because NEP17TransferInfo.Balances are to be removed.
This commit is contained in:
parent
c0a2c74e0c
commit
e46d76d7aa
10 changed files with 69 additions and 69 deletions
|
@ -989,14 +989,14 @@ func (bc *Blockchain) processNEP17Transfer(cache *dao.Cached, h util.Uint256, b
|
|||
Tx: h,
|
||||
}
|
||||
if !fromAddr.Equals(util.Uint160{}) {
|
||||
balances, err := cache.GetNEP17Balances(fromAddr)
|
||||
balances, err := cache.GetNEP17TransferInfo(fromAddr)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
bs := balances.Trackers[id]
|
||||
bs := balances.LastUpdated[id]
|
||||
bs.Balance = *new(big.Int).Sub(&bs.Balance, amount)
|
||||
bs.LastUpdatedBlock = b.Index
|
||||
balances.Trackers[id] = bs
|
||||
balances.LastUpdated[id] = bs
|
||||
transfer.Amount = *new(big.Int).Sub(&transfer.Amount, amount)
|
||||
balances.NewBatch, err = cache.AppendNEP17Transfer(fromAddr,
|
||||
balances.NextTransferBatch, balances.NewBatch, transfer)
|
||||
|
@ -1006,19 +1006,19 @@ func (bc *Blockchain) processNEP17Transfer(cache *dao.Cached, h util.Uint256, b
|
|||
if balances.NewBatch {
|
||||
balances.NextTransferBatch++
|
||||
}
|
||||
if err := cache.PutNEP17Balances(fromAddr, balances); err != nil {
|
||||
if err := cache.PutNEP17TransferInfo(fromAddr, balances); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
if !toAddr.Equals(util.Uint160{}) {
|
||||
balances, err := cache.GetNEP17Balances(toAddr)
|
||||
balances, err := cache.GetNEP17TransferInfo(toAddr)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
bs := balances.Trackers[id]
|
||||
bs := balances.LastUpdated[id]
|
||||
bs.Balance = *new(big.Int).Add(&bs.Balance, amount)
|
||||
bs.LastUpdatedBlock = b.Index
|
||||
balances.Trackers[id] = bs
|
||||
balances.LastUpdated[id] = bs
|
||||
|
||||
transfer.Amount = *amount
|
||||
balances.NewBatch, err = cache.AppendNEP17Transfer(toAddr,
|
||||
|
@ -1029,7 +1029,7 @@ func (bc *Blockchain) processNEP17Transfer(cache *dao.Cached, h util.Uint256, b
|
|||
if balances.NewBatch {
|
||||
balances.NextTransferBatch++
|
||||
}
|
||||
if err := cache.PutNEP17Balances(toAddr, balances); err != nil {
|
||||
if err := cache.PutNEP17TransferInfo(toAddr, balances); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
@ -1037,7 +1037,7 @@ func (bc *Blockchain) processNEP17Transfer(cache *dao.Cached, h util.Uint256, b
|
|||
|
||||
// ForEachNEP17Transfer executes f for each nep17 transfer in log.
|
||||
func (bc *Blockchain) ForEachNEP17Transfer(acc util.Uint160, f func(*state.NEP17Transfer) (bool, error)) error {
|
||||
balances, err := bc.dao.GetNEP17Balances(acc)
|
||||
balances, err := bc.dao.GetNEP17TransferInfo(acc)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
|
@ -1058,8 +1058,8 @@ func (bc *Blockchain) ForEachNEP17Transfer(acc util.Uint160, f func(*state.NEP17
|
|||
}
|
||||
|
||||
// GetNEP17Balances returns NEP17 balances for the acc.
|
||||
func (bc *Blockchain) GetNEP17Balances(acc util.Uint160) *state.NEP17Balances {
|
||||
bs, err := bc.dao.GetNEP17Balances(acc)
|
||||
func (bc *Blockchain) GetNEP17Balances(acc util.Uint160) *state.NEP17TransferInfo {
|
||||
bs, err := bc.dao.GetNEP17TransferInfo(acc)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
|
@ -1068,22 +1068,22 @@ func (bc *Blockchain) GetNEP17Balances(acc util.Uint160) *state.NEP17Balances {
|
|||
|
||||
// GetUtilityTokenBalance returns utility token (GAS) balance for the acc.
|
||||
func (bc *Blockchain) GetUtilityTokenBalance(acc util.Uint160) *big.Int {
|
||||
bs, err := bc.dao.GetNEP17Balances(acc)
|
||||
bs, err := bc.dao.GetNEP17TransferInfo(acc)
|
||||
if err != nil {
|
||||
return big.NewInt(0)
|
||||
}
|
||||
balance := bs.Trackers[bc.contracts.GAS.ID].Balance
|
||||
balance := bs.LastUpdated[bc.contracts.GAS.ID].Balance
|
||||
return &balance
|
||||
}
|
||||
|
||||
// GetGoverningTokenBalance returns governing token (NEO) balance and the height
|
||||
// of the last balance change for the account.
|
||||
func (bc *Blockchain) GetGoverningTokenBalance(acc util.Uint160) (*big.Int, uint32) {
|
||||
bs, err := bc.dao.GetNEP17Balances(acc)
|
||||
bs, err := bc.dao.GetNEP17TransferInfo(acc)
|
||||
if err != nil {
|
||||
return big.NewInt(0), 0
|
||||
}
|
||||
neo := bs.Trackers[bc.contracts.NEO.ID]
|
||||
neo := bs.LastUpdated[bc.contracts.NEO.ID]
|
||||
return &neo.Balance, neo.LastUpdatedBlock
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue