frostfs-node/pkg/core/object/address.go
Leonard Lyubich edcaef8478 [#17] core/object: Implement Object and Address types
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-10-02 11:25:35 +03:00

35 lines
622 B
Go

package object
import (
"github.com/nspcc-dev/neofs-api-go/pkg/object"
"github.com/nspcc-dev/neofs-api-go/v2/refs"
)
type Address struct {
*object.Address
}
// MarshalStableV2 marshals Address to v2 binary format.
func (a *Address) MarshalStableV2() ([]byte, error) {
if a != nil {
return a.ToV2().StableMarshal(nil)
}
return nil, nil
}
// AddressFromV2 converts v2 Address message to Address.
func AddressFromV2(aV2 *refs.Address) (*Address, error) {
if aV2 == nil {
return nil, nil
}
a, err := object.AddressFromV2(aV2)
if err != nil {
return nil, err
}
return &Address{
Address: a,
}, nil
}