MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / updateProviderList

Method updateProviderList

blockproducer/metastate.go:512–551  ·  view source on GitHub ↗
(tx *types.ProvideService, height uint32)

Source from the content-addressed store, hash-verified

510}
511
512func (s *metaState) updateProviderList(tx *types.ProvideService, height uint32) (err error) {
513 sender, err := crypto.PubKeyHash(tx.Signee)
514 if err != nil {
515 err = errors.Wrap(err, "updateProviderList failed")
516 return
517 }
518
519 if height >= conf.BPHeightCIPFixProvideService {
520 // load previous provider object
521 po, loaded := s.loadProviderObject(sender)
522 if loaded {
523 // refund
524 if err = s.increaseAccountStableBalance(sender, po.Deposit); err != nil {
525 return
526 }
527
528 s.deleteProviderObject(sender)
529 }
530 }
531
532 // deposit
533 var (
534 minDeposit = conf.GConf.MinProviderDeposit
535 )
536 if err = s.decreaseAccountStableBalance(sender, minDeposit); err != nil {
537 return
538 }
539 pp := types.ProviderProfile{
540 Provider: sender,
541 Space: tx.Space,
542 Memory: tx.Memory,
543 LoadAvgPerCPU: tx.LoadAvgPerCPU,
544 TargetUser: tx.TargetUser,
545 Deposit: minDeposit,
546 GasPrice: tx.GasPrice,
547 NodeID: tx.NodeID,
548 }
549 s.dirty.provider[sender] = &pp
550 return
551}
552
553func (s *metaState) matchProvidersWithUser(tx *types.CreateDatabase) (err error) {
554 log.Infof("create database: %s", tx.Hash())

Callers 1

applyTransactionMethod · 0.95

Calls 5

loadProviderObjectMethod · 0.95
deleteProviderObjectMethod · 0.95
PubKeyHashFunction · 0.92

Tested by

no test coverage detected