26 lines
436 B
Go
26 lines
436 B
Go
package signature
|
|
|
|
type stableMarshaler interface {
|
|
StableMarshal([]byte) []byte
|
|
StableSize() int
|
|
}
|
|
|
|
type StableMarshalerWrapper struct {
|
|
SM stableMarshaler
|
|
}
|
|
|
|
func (s StableMarshalerWrapper) ReadSignedData(buf []byte) ([]byte, error) {
|
|
if s.SM != nil {
|
|
return s.SM.StableMarshal(buf), nil
|
|
}
|
|
|
|
return nil, nil
|
|
}
|
|
|
|
func (s StableMarshalerWrapper) SignedDataSize() int {
|
|
if s.SM != nil {
|
|
return s.SM.StableSize()
|
|
}
|
|
|
|
return 0
|
|
}
|