package tree import ( crypto "git.frostfs.info/TrueCloudLab/frostfs-crypto" "google.golang.org/protobuf/proto" ) func (p *Pool) signData(buf []byte, f func(key, sign []byte)) error { sign, err := crypto.Sign(&p.key.PrivateKey, buf) if err != nil { return err } f(p.key.PublicKey().Bytes(), sign) return nil } func (p *Pool) signRequest(requestBody proto.Message, f func(key, sign []byte)) error { buf, err := proto.Marshal(requestBody) if err != nil { return err } return p.signData(buf, f) }