forked from TrueCloudLab/frostfs-node
[#1100] *: Adopt new SDK's owner.ID
API
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
parent
4b5404047c
commit
fee2f5a330
21 changed files with 32 additions and 134 deletions
|
@ -26,10 +26,9 @@ func TestCheckFormat(t *testing.T) {
|
|||
|
||||
require.Error(t, CheckFormat(c))
|
||||
|
||||
wallet, err := owner.NEO3WalletFromPublicKey(&test.DecodeKey(-1).PublicKey)
|
||||
require.NoError(t, err)
|
||||
oid := owner.NewIDFromPublicKey(&test.DecodeKey(-1).PublicKey)
|
||||
|
||||
c.SetOwnerID(owner.NewIDFromNeo3Wallet(wallet))
|
||||
c.SetOwnerID(oid)
|
||||
|
||||
// set incorrect nonce
|
||||
cV2 := c.ToV2()
|
||||
|
|
|
@ -122,14 +122,7 @@ func (v *FormatValidator) checkOwnerKey(id *owner.ID, key []byte) error {
|
|||
return err
|
||||
}
|
||||
|
||||
wallet, err := owner.NEO3WalletFromPublicKey((*ecdsa.PublicKey)(pub))
|
||||
if err != nil {
|
||||
// TODO: check via NeoFSID
|
||||
return err
|
||||
}
|
||||
|
||||
id2 := owner.NewID()
|
||||
id2.SetNeo3Wallet(wallet)
|
||||
id2 := owner.NewIDFromPublicKey((*ecdsa.PublicKey)(pub))
|
||||
|
||||
if !id.Equal(id2) {
|
||||
return fmt.Errorf("(%T) different owner identifiers %s/%s", v, id, id2)
|
||||
|
|
|
@ -34,16 +34,10 @@ func testObjectID(t *testing.T) *object.ID {
|
|||
return id
|
||||
}
|
||||
|
||||
func blankValidObject(t *testing.T, key *ecdsa.PrivateKey) *RawObject {
|
||||
wallet, err := owner.NEO3WalletFromPublicKey(&key.PublicKey)
|
||||
require.NoError(t, err)
|
||||
|
||||
ownerID := owner.NewID()
|
||||
ownerID.SetNeo3Wallet(wallet)
|
||||
|
||||
func blankValidObject(key *ecdsa.PrivateKey) *RawObject {
|
||||
obj := NewRaw()
|
||||
obj.SetContainerID(cidtest.ID())
|
||||
obj.SetOwnerID(ownerID)
|
||||
obj.SetOwnerID(owner.NewIDFromPublicKey(&key.PublicKey))
|
||||
|
||||
return obj
|
||||
}
|
||||
|
@ -94,11 +88,10 @@ func TestFormatValidator_Validate(t *testing.T) {
|
|||
})
|
||||
|
||||
t.Run("correct w/ session token", func(t *testing.T) {
|
||||
w, err := owner.NEO3WalletFromPublicKey((*ecdsa.PublicKey)(ownerKey.PublicKey()))
|
||||
require.NoError(t, err)
|
||||
oid := owner.NewIDFromPublicKey((*ecdsa.PublicKey)(ownerKey.PublicKey()))
|
||||
|
||||
tok := sessiontest.Token()
|
||||
tok.SetOwnerID(owner.NewIDFromNeo3Wallet(w))
|
||||
tok.SetOwnerID(oid)
|
||||
|
||||
obj := NewRaw()
|
||||
obj.SetContainerID(cidtest.ID())
|
||||
|
@ -111,7 +104,7 @@ func TestFormatValidator_Validate(t *testing.T) {
|
|||
})
|
||||
|
||||
t.Run("correct w/o session token", func(t *testing.T) {
|
||||
obj := blankValidObject(t, &ownerKey.PrivateKey)
|
||||
obj := blankValidObject(&ownerKey.PrivateKey)
|
||||
|
||||
require.NoError(t, object.SetIDWithSignature(&ownerKey.PrivateKey, obj.SDK()))
|
||||
|
||||
|
@ -188,7 +181,7 @@ func TestFormatValidator_Validate(t *testing.T) {
|
|||
|
||||
t.Run("expiration", func(t *testing.T) {
|
||||
fn := func(val string) *Object {
|
||||
obj := blankValidObject(t, &ownerKey.PrivateKey)
|
||||
obj := blankValidObject(&ownerKey.PrivateKey)
|
||||
|
||||
a := object.NewAttribute()
|
||||
a.SetKey(objectV2.SysAttributeExpEpoch)
|
||||
|
@ -222,7 +215,7 @@ func TestFormatValidator_Validate(t *testing.T) {
|
|||
|
||||
t.Run("attributes", func(t *testing.T) {
|
||||
t.Run("duplication", func(t *testing.T) {
|
||||
obj := blankValidObject(t, &ownerKey.PrivateKey)
|
||||
obj := blankValidObject(&ownerKey.PrivateKey)
|
||||
|
||||
a1 := object.NewAttribute()
|
||||
a1.SetKey("key1")
|
||||
|
@ -244,7 +237,7 @@ func TestFormatValidator_Validate(t *testing.T) {
|
|||
})
|
||||
|
||||
t.Run("empty value", func(t *testing.T) {
|
||||
obj := blankValidObject(t, &ownerKey.PrivateKey)
|
||||
obj := blankValidObject(&ownerKey.PrivateKey)
|
||||
|
||||
a := object.NewAttribute()
|
||||
a.SetKey("key")
|
||||
|
|
|
@ -52,17 +52,7 @@ func (cp *Processor) checkKeyOwnership(ownerIDSrc ownerIDSource, key *keys.Publi
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: need more convenient way to do this
|
||||
w, err := owner.NEO3WalletFromPublicKey(&ecdsa.PublicKey{
|
||||
Curve: key.Curve,
|
||||
X: key.X,
|
||||
Y: key.Y,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if ownerIDSrc.OwnerID().Equal(owner.NewIDFromNeo3Wallet(w)) {
|
||||
if ownerIDSrc.OwnerID().Equal(owner.NewIDFromPublicKey((*ecdsa.PublicKey)(key))) {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -319,13 +319,5 @@ func ownerFromKey(key []byte) (*owner.ID, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
n3wallet, err := owner.NEO3WalletFromPublicKey((*ecdsa.PublicKey)(pubKey))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
o := owner.NewID()
|
||||
o.SetNeo3Wallet(n3wallet)
|
||||
|
||||
return o, nil
|
||||
return owner.NewIDFromPublicKey((*ecdsa.PublicKey)(pubKey)), nil
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@ import (
|
|||
"math/big"
|
||||
"sync"
|
||||
|
||||
"github.com/mr-tron/base58"
|
||||
"github.com/nspcc-dev/neo-go/pkg/encoding/address"
|
||||
"github.com/nspcc-dev/neo-go/pkg/util"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/innerring/processors/settlement/common"
|
||||
|
@ -85,16 +84,12 @@ func bankOwnerID() (*owner.ID, error) {
|
|||
u := util.Uint160{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // todo: define const
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
|
||||
|
||||
d, err := base58.Decode(address.Uint160ToString(u))
|
||||
o := owner.NewID()
|
||||
|
||||
err := o.Parse(address.Uint160ToString(u))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var w owner.NEO3Wallet
|
||||
copy(w[:], d)
|
||||
|
||||
o := owner.NewID()
|
||||
o.SetNeo3Wallet(&w)
|
||||
|
||||
return o, nil
|
||||
}
|
||||
|
|
|
@ -187,15 +187,7 @@ func (s settlementDeps) ResolveKey(ni common.NodeInfo) (*owner.ID, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
w, err := owner.NEO3WalletFromPublicKey((*ecdsa.PublicKey)(pub))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
id := owner.NewID()
|
||||
id.SetNeo3Wallet(w)
|
||||
|
||||
return id, nil
|
||||
return owner.NewIDFromPublicKey((*ecdsa.PublicKey)(pub)), nil
|
||||
}
|
||||
|
||||
func (s settlementDeps) Transfer(sender, recipient *owner.ID, amount *big.Int, details []byte) {
|
||||
|
|
|
@ -204,13 +204,8 @@ func (x putSubnetEvent) ReadCreator(id *owner.ID) error {
|
|||
return err
|
||||
}
|
||||
|
||||
wal, err := owner.NEO3WalletFromPublicKey((*ecdsa.PublicKey)(key))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// it would be better if we could do it not like this
|
||||
*id = *owner.NewIDFromNeo3Wallet(wal)
|
||||
*id = *owner.NewIDFromPublicKey((*ecdsa.PublicKey)(key))
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -88,11 +88,8 @@ func generateRawObjectWithCID(t *testing.T, cid *cid.ID) *object.RawObject {
|
|||
version.SetMajor(2)
|
||||
version.SetMinor(1)
|
||||
|
||||
w, err := owner.NEO3WalletFromPublicKey(&test.DecodeKey(-1).PublicKey)
|
||||
require.NoError(t, err)
|
||||
|
||||
csum := new(checksum.Checksum)
|
||||
csum.SetSHA256(sha256.Sum256(w.Bytes()))
|
||||
csum.SetSHA256(sha256.Sum256(owner.PublicKeyToIDBytes(&test.DecodeKey(-1).PublicKey)))
|
||||
|
||||
csumTZ := new(checksum.Checksum)
|
||||
csumTZ.SetTillichZemor(tz.Sum(csum.Sum()))
|
||||
|
|
|
@ -69,11 +69,8 @@ func generateRawObjectWithCID(t *testing.T, cid *cid.ID) *object.RawObject {
|
|||
version.SetMajor(2)
|
||||
version.SetMinor(1)
|
||||
|
||||
w, err := owner.NEO3WalletFromPublicKey(&test.DecodeKey(-1).PublicKey)
|
||||
require.NoError(t, err)
|
||||
|
||||
csum := new(checksum.Checksum)
|
||||
csum.SetSHA256(sha256.Sum256(w.Bytes()))
|
||||
csum.SetSHA256(sha256.Sum256(owner.PublicKeyToIDBytes(&test.DecodeKey(-1).PublicKey)))
|
||||
|
||||
csumTZ := new(checksum.Checksum)
|
||||
csumTZ.SetTillichZemor(tz.Sum(csum.Sum()))
|
||||
|
|
|
@ -73,11 +73,8 @@ func generateRawObjectWithCID(t *testing.T, cid *cid.ID) *object.RawObject {
|
|||
version.SetMajor(2)
|
||||
version.SetMinor(1)
|
||||
|
||||
w, err := owner.NEO3WalletFromPublicKey(&test.DecodeKey(-1).PublicKey)
|
||||
require.NoError(t, err)
|
||||
|
||||
csum := new(checksum.Checksum)
|
||||
csum.SetSHA256(sha256.Sum256(w.Bytes()))
|
||||
csum.SetSHA256(sha256.Sum256(owner.PublicKeyToIDBytes(&test.DecodeKey(-1).PublicKey)))
|
||||
|
||||
csumTZ := new(checksum.Checksum)
|
||||
csumTZ.SetTillichZemor(tz.Sum(csum.Sum()))
|
||||
|
|
|
@ -780,12 +780,7 @@ func isOwnerFromKey(id *owner.ID, key *keys.PublicKey) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
wallet, err := owner.NEO3WalletFromPublicKey((*ecdsa.PublicKey)(key))
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
return id.Equal(owner.NewIDFromNeo3Wallet(wallet))
|
||||
return id.Equal(owner.NewIDFromPublicKey((*ecdsa.PublicKey)(key)))
|
||||
}
|
||||
|
||||
// originalBearerToken goes down to original request meta header and fetches
|
||||
|
|
|
@ -113,16 +113,8 @@ func requestOwner(req metaWithToken) (*owner.ID, *keys.PublicKey, error) {
|
|||
}
|
||||
|
||||
key := unmarshalPublicKey(bodySignature.Key())
|
||||
neo3wallet, err := owner.NEO3WalletFromPublicKey((*ecdsa.PublicKey)(key))
|
||||
if err != nil {
|
||||
return nil, nil, fmt.Errorf("can't create neo3 wallet: %w", err)
|
||||
}
|
||||
|
||||
// form user from public key
|
||||
user := new(owner.ID)
|
||||
user.SetNeo3Wallet(neo3wallet)
|
||||
|
||||
return user, key, nil
|
||||
return owner.NewIDFromPublicKey((*ecdsa.PublicKey)(key)), key, nil
|
||||
}
|
||||
|
||||
func originalBodySignature(v *session.RequestVerificationHeader) *signature.Signature {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue