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

Method updateKeys

blockproducer/metastate.go:872–908  ·  view source on GitHub ↗
(tx *types.IssueKeys)

Source from the content-addressed store, hash-verified

870}
871
872func (s *metaState) updateKeys(tx *types.IssueKeys) (err error) {
873 sender := tx.GetAccountAddress()
874 so, loaded := s.loadSQLChainObject(tx.TargetSQLChain.DatabaseID())
875 if !loaded {
876 log.WithFields(log.Fields{
877 "dbID": tx.TargetSQLChain.DatabaseID(),
878 }).WithError(ErrDatabaseNotFound).Error("unexpected error in updateKeys")
879 return ErrDatabaseNotFound
880 }
881
882 // check sender's permission
883 for _, user := range so.Users {
884 if sender == user.Address {
885 if !user.Permission.HasSuperPermission() {
886 log.WithFields(log.Fields{
887 "sender": sender,
888 "dbID": tx.TargetSQLChain,
889 }).WithError(ErrAccountPermissionDeny).Error("unexpected error in updateKeys")
890 return ErrAccountPermissionDeny
891 }
892
893 break
894 }
895 }
896
897 // update miner's key
898 keyMap := make(map[proto.AccountAddress]string)
899 for i := range tx.MinerKeys {
900 keyMap[tx.MinerKeys[i].Miner] = tx.MinerKeys[i].EncryptionKey
901 }
902 for _, miner := range so.Miners {
903 if key, ok := keyMap[miner.Address]; ok {
904 miner.EncryptionKey = key
905 }
906 }
907 return
908}
909
910func (s *metaState) updateBilling(tx *types.UpdateBilling) (err error) {
911 newProfile, loaded := s.loadSQLChainObject(tx.Receiver.DatabaseID())

Callers 1

applyTransactionMethod · 0.95

Calls 7

loadSQLChainObjectMethod · 0.95
WithFieldsFunction · 0.92
DatabaseIDMethod · 0.80
ErrorMethod · 0.80
WithErrorMethod · 0.80
HasSuperPermissionMethod · 0.80
GetAccountAddressMethod · 0.65

Tested by

no test coverage detected