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

Function SavePrivateKey

cmd/cql-proxy/model/keystore.go:104–150  ·  view source on GitHub ↗

SavePrivateKey saves existing private key to developer keys object.

(db *gorp.DbMap, developer int64, key *asymmetric.PrivateKey)

Source from the content-addressed store, hash-verified

102
103// SavePrivateKey saves existing private key to developer keys object.
104func SavePrivateKey(db *gorp.DbMap, developer int64, key *asymmetric.PrivateKey) (
105 p *DeveloperPrivateKey, err error) {
106 dbMap := db
107 exists := true
108
109 account, err := crypto.PubKeyHash(key.PubKey())
110 if err != nil {
111 err = errors.Wrapf(err, "convert public key to wallet address failed")
112 return
113 }
114
115 accountAddr := utils.NewAccountAddress(account)
116
117 if p, err = GetAccount(db, developer, accountAddr); err != nil {
118 // not exists
119 err = nil
120 p = &DeveloperPrivateKey{
121 Developer: developer,
122 Account: accountAddr,
123 Key: key,
124 }
125
126 exists = false
127 }
128
129 if p.RawKey, err = kms.EncodePrivateKey(key, []byte{}); err != nil {
130 err = errors.Wrapf(err, "encode private key failed")
131 p = nil
132 return
133 }
134
135 p.Created = time.Now().Unix()
136
137 if exists {
138 _, err = dbMap.Update(p)
139 if err != nil {
140 err = errors.Wrapf(err, "update private key info failed")
141 }
142 } else {
143 err = dbMap.Insert(p)
144 if err != nil {
145 err = errors.Wrapf(err, "add private key info failed")
146 }
147 }
148
149 return
150}
151
152// DeletePrivateKey removes the keypair from proxy database.
153func DeletePrivateKey(db *gorp.DbMap, developer int64, account utils.AccountAddress) (

Callers 1

uploadKeyPairFunction · 0.92

Calls 7

PubKeyHashFunction · 0.92
NewAccountAddressFunction · 0.92
EncodePrivateKeyFunction · 0.92
GetAccountFunction · 0.85
PubKeyMethod · 0.80
InsertMethod · 0.80
UpdateMethod · 0.65

Tested by

no test coverage detected