-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwallet_key.go
More file actions
41 lines (35 loc) · 1.08 KB
/
wallet_key.go
File metadata and controls
41 lines (35 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package lnbot
import "context"
// WalletKeyService handles wallet key operations.
type WalletKeyService struct {
c *Client
prefix string
}
// Create creates a wallet key (max 1 per wallet).
func (s *WalletKeyService) Create(ctx context.Context) (*WalletKeyResponse, error) {
var v WalletKeyResponse
if err := s.c.post(ctx, s.prefix+"/key", nil, &v); err != nil {
return nil, err
}
return &v, nil
}
// Get returns wallet key info (no plaintext key).
func (s *WalletKeyService) Get(ctx context.Context) (*WalletKeyInfoResponse, error) {
var v WalletKeyInfoResponse
if err := s.c.get(ctx, s.prefix+"/key", &v); err != nil {
return nil, err
}
return &v, nil
}
// Delete revokes the wallet key.
func (s *WalletKeyService) Delete(ctx context.Context) error {
return s.c.del(ctx, s.prefix+"/key")
}
// Rotate rotates the wallet key. Old key is invalidated immediately.
func (s *WalletKeyService) Rotate(ctx context.Context) (*WalletKeyResponse, error) {
var v WalletKeyResponse
if err := s.c.post(ctx, s.prefix+"/key/rotate", nil, &v); err != nil {
return nil, err
}
return &v, nil
}