OSDN Git Service

simplify singers#Create (#438)
authorYongfeng LI <wliyongfeng@gmail.com>
Mon, 19 Mar 2018 06:16:23 +0000 (14:16 +0800)
committerPaladz <yzhu101@uottawa.ca>
Mon, 19 Mar 2018 06:16:23 +0000 (14:16 +0800)
blockchain/account/accounts.go
blockchain/asset/asset.go
blockchain/signers/signers.go

index f7487b0..11e0632 100755 (executable)
@@ -155,7 +155,8 @@ func (m *Manager) Create(ctx context.Context, xpubs []chainkd.XPub, quorum int,
 
        nextAccountIndex := m.getNextXpubsIndex(xpubs)
 
-       id, signer, err := signers.Create("account", xpubs, quorum, nextAccountIndex)
+       signer, err := signers.Create("account", xpubs, quorum, nextAccountIndex)
+       id := signers.IDGenerate()
        if err != nil {
                return nil, errors.Wrap(err)
        }
index 6a04391..54c49bc 100755 (executable)
@@ -152,7 +152,7 @@ func (reg *Registry) Define(xpubs []chainkd.XPub, quorum int, definition map[str
                return nil, errors.Wrap(err, "get asset index error")
        }
 
-       _, assetSigner, err := signers.Create("asset", xpubs, quorum, *nextAssetIndex)
+       assetSigner, err := signers.Create("asset", xpubs, quorum, *nextAssetIndex)
        if err != nil {
                return nil, err
        }
index 2824bbb..c9d1278 100755 (executable)
@@ -65,24 +65,23 @@ func Path(s *Signer, ks keySpace, itemIndexes ...uint64) [][]byte {
 }
 
 // Create creates and stores a Signer in the database
-func Create(signerType string, xpubs []chainkd.XPub, quorum int, keyIndex uint64) (string, *Signer, error) {
+func Create(signerType string, xpubs []chainkd.XPub, quorum int, keyIndex uint64) (*Signer, error) {
        if len(xpubs) == 0 {
-               return "", nil, errors.Wrap(ErrNoXPubs)
+               return nil, errors.Wrap(ErrNoXPubs)
        }
 
        sort.Sort(sortKeys(xpubs)) // this transforms the input slice
        for i := 1; i < len(xpubs); i++ {
                if bytes.Equal(xpubs[i][:], xpubs[i-1][:]) {
-                       return "", nil, errors.WithDetailf(ErrDupeXPub, "duplicated key=%x", xpubs[i])
+                       return nil, errors.WithDetailf(ErrDupeXPub, "duplicated key=%x", xpubs[i])
                }
        }
 
        if quorum == 0 || quorum > len(xpubs) {
-               return "", nil, errors.Wrap(ErrBadQuorum)
+               return nil, errors.Wrap(ErrBadQuorum)
        }
 
-       id := IDGenerate()
-       return id, &Signer{
+       return &Signer{
                Type:     signerType,
                XPubs:    xpubs,
                Quorum:   quorum,